Mostrando entradas con la etiqueta SQL. Mostrar todas las entradas
Mostrando entradas con la etiqueta SQL. Mostrar todas las entradas

domingo, 18 de mayo de 2014

DBOR , create type as object and table of object , in SQL


Instrucciones basicas en SQL para la creación de objetos y tablas de objetos:

Comentario de texto en SQL se hace con 2 guiones "--" al pricipio de la linea!

1. crear un objeto
-- Para heredar de un objeto creado, se le tiene que especificar "NOT FINAL" .

CREATE OR REPLACE TYPE nom_objeto AS OBJECT (
           atributo1  VARCHAR2(123)  [, atributo2  NUMBER(2) ] [ ,atributo3 DATE] ,
           MEMBER FUNCTION getAtributo1 return VARCHAR2,
           MEMBER PROCEDURE setAtributo1(nuevoValor  VARCHAR2),
      
)       NOT FINAL  ;

Ejemplo, heredar del objeto "nom_objeto":

CREATE OR REPLACE TYPE nom_objeto2  UNDER  nom_objeto  (
--atributos
--declaración de metodos
);


2. definir los metodos de cada objeto creado :

CREATE OR REPLACE TYPE BODY  nom_objeto AS 

     MEMBER FUNCTION getAtributo1 RETURN VARCHAR AS 
          --entre "as" y "begin" inicializar variables de esta funcion, si hace falta.
          BEGIN
               RETURN SELF.atributo1;
          END getAtributo;


     MEMBER PROCEDURE setAtributo1(nuevoValor   VARCHAR2)  AS 
          BEGIN
               SELF.atributo1 : =  nuevoValor ;
          END setAtributo;
END;


3. Crear tabla de este objeto :


CREATE TABLE nomTabla OF nom_objetoPRIMARY KEY(atributo1));

INSERT INTO nomTabla VALUES('valor del atributo1 del objeto' );
INSERT INTO nomTabla VALUES('hola ' );
INSERT INTO nomTabla VALUES('mundooo ' );


SELECT * FROM nomTabla  T  WHERE  T.atributo1 = '   hola  '  ;

result :

ATRIBUTO1
---------------------------------------------------
hola                                                            

jueves, 8 de mayo de 2014

ORA-12560: TNS:error del adaptador de protocolo


En este apartado, explicaré en unos sencillismos pasos solucionar este problema que nos puede dar Oracle  en Windows
ORA-12560: TNS:error del adaptador de protocolo
ORA-12560: TNS:protocol adapter error

  1. Damos click derecho en 'Mi PC', y click en propiedades, en la pestaña 'Opciones Avanzadas' y el botón de debajo del todo con el nombre 'Variables de Entorno'.
  2. Click en 'Nueva' y escribimos en el nombre 'ORACLE_SID'
  3. Para saber el valor del nombre de nuestra instancia nos dirigimos a la siguiente ruta: C:/Windows/system32/ y buscamos ''servicios.msc'' y lo abrimos
  4. Buscamos 'OracleServiceNOMBRE' y según el nombre que ponga, lo escribimos en el valor de la variable.

En mi caso el valor era XE

miércoles, 19 de marzo de 2014

DDL- Creación de tablas













Tipo de datos
  • Varchar2 (tamaño) →  Cadena de caracteres de longitud variable. Tamaño 1...4000(alfanumérico).
  • Number (precisión, escala) → Números de tantos dígitos como indiquemos en precisión, de los que los indicados en escala serán decimales.
    Ejemplo: number (6,2) (primero carácter de 6 letras , 2 cifras → el numero máximo que puede representar será de 9999.99). Si se escribe number (3,0) no habrá decimales.
  • Char (tamaño)→ Cadena de caracteres de longitud fija (entre 1..2000)
  • Date → Fechas válidas 

Ejemplo de tabla → ALUMNO (DNI, Nombre, telefono, email)
CREATE TABLE alumno ( dni vachar2 (11),
nombre varchar2 (200), telefono number (9), email varchar2 (150));

 Restricciones de columna
Son restricciones que se aplican a un sólo atributo o columna. No podemos indicar restricciones que afecten a 2 o más columnas a la vez:
  • PRIMARY KEY → Clave primaria
  • NOT NULL → La columna no admite valores NULL
  • UNIQUE → La columna no admite duplicados. Claves alternativas.
  • REFERENCES TABLA(columna) → Clave foránea
  • CHECK → Todos los valores de la columna deben cumplir la condición indicada.

Modificación de tablas

Sintaxis:

      ALTER TABLE nombretabla
      modificar_columna
      modificar_restriccion
      RENAME to nombreNuevo
      Para modificar columna:

  • ADD columna defcolumna
  • MODIFY columna defcolumna
  • DROP COLUMN columna
Modificación de restricciones

  • ADD CONSTRAINT restricción
  • DROP CONSTRAINT restricción
  • DISABLE CONSTRAINT nombre
  • ENSABLE CONSTRAINT nombre
Renombrar tablas

      ALTER TABLE nombreviejo
      RENAME TO nombrenuevo; 


Ejemplos de aplicación de los conceptos anteriores:

*Añadir restricción a telephone  sin repetidos
  ALTER TABLE alumno14 telephone number (9) UNIQUE;

*Añadir una columna edad
  ALTER TABLE ALUMNO14 ADD EDAD NUMBER (3);

*Añadir restricción edad >18
  ALTER TABLE ALUMNO14
  ADD CONSTRAINT CH_EDAD CHECK (edad>18);