Red de conocimiento informático - Espacio del host - Acabo de entrar en contacto con Oracle. ¿Puede decirme en detalle cómo definir una variable A para almacenar la clave principal de estos datos?

Acabo de entrar en contacto con Oracle. ¿Puede decirme en detalle cómo definir una variable A para almacenar la clave principal de estos datos?

4. Tipo de registro

Registro significa "registro".

A veces, usar tipo tipo definirá demasiadas variables y usar tipo fila obtendrá datos que no le interesan.

¿Cómo obtener solo los valores de los campos que te interesan? En este momento, utilice el tipo de registro para personalizar cuántas columnas hay.

Sintaxis:

tipo nombre del tipo es registro(

nombre del atributo 1 tipo de atributo,

nombre del atributo 2 tipo de atributo

);

Nota

1. Las comas (,) se utilizan para definir atributos, no puntos y comas (;).

2. No es necesario utilizar "," en el último nombre del atributo.

Hay dos pasos a utilizar:

1. Primero use el tipo para personalizar un nuevo tipo. Las variables que puede usar este tipo de variable están relacionadas con la definición.

2. Utilice este nuevo tipo para definir una variable para que esta variable pueda almacenar datos reales.

Ejemplo: Los requisitos son los mismos que los anteriores.

declare

--Personalizar un tipo

tipo myType es record(

xm emp.enametype, --name

p>

gzuo emp.jobtype, --job

gzi emp.saltype --salary

);

--use tipos personalizados para definir variables

myValue myType;

begin

seleccione ename, job, sal en myValue desde emp donde empno=7844;

dbms_output .put_line('ename='||myValue.xm);

dbms_output.put_line('job='||myValue.gzuo);

dbms_output.put_line( 'sal= '||myValue.gzi);

end;

Nota:

· El orden de los atributos del tipo personalizado debe corresponder uno a -uno al realizar la consulta.

·Los nombres de los atributos en myValue también se personalizan, no los nombres de los campos.

Problema: el código anterior es más complicado que usar el tipo directamente y no veo la ventaja. ¿Por qué seguir usando el registro?

Respuesta:

En los proyectos, los tipos personalizados generalmente se colocan en paquetes (paquete, sobre el cual aprenderemos más adelante), para que se pueda hacer referencia a ellos directamente en otros lugares.

Ejemplo:

Primero personalice el tipo en el paquete:

cree o reemplace el paquete my_bao

como

tipo myType es record(

xm emp.enametype, --name

gzuo emp.jobtype, --job

gzi emp.saltype --salary

);

end;

Entonces puedes usar el tipo directamente en el bloque, pero necesitas agregar el nombre del paquete antes del tipo: "my_bao". ".

declarar

--Utilice tipos personalizados en el paquete para definir variables

myValue my_bao.myType;

begin

seleccione ename, trabajo, sal en myValue desde emp donde empno=7844

dbms_output.put_line('ename='||myValue.xm

dbms_output.put_line); ('job='||myValue.gzuo);

dbms_output.put_line('sal='||myValue.gzi);

end;