martes, 17 de julio de 2007

Definición de variables de Usuario

En iSql*Plus es posible definir variables que se pueden utilizar más adelante en el propio programa. Piense en una variable como en una columna de tabla con una sola fila de datos. Al igual que la columna de una tabla, una variable tiene asignada un tipo de dato (númerico o de caracteres) y contiene datos. Lo importante aquí es es recordar que en un archivo de órdenes puede tener una o más consultas SQL.

Comando define:

DEFINE empleado=’KING’

http://liang.armstrong.edu:5560/isqlplus

Confirmación de la variable:

DEFINE empleado

Listar la definición de todas las variables:

DEFINE

Eliminar Variable de Usuario:

Comando Undefine

UNDEFINE empleado

Debe recordar que:



Todas las variables, independientemente del tipo de dato asignado, son datos de tipo carácter.
Las palabras define y undefine se pueden abreviar a def y undefine.






Variable de Sustitución
Muchas veces, cuando se ejecuta una consulta, no se conoce de antemano qué valor quiere utilizar el usuario para el ínforme (o programa), sino que se desea introducir un valor cuando se inicia la realización del ínforme. Las variables de sustitución son variables de usuarios precedidos por los símbolos & o &&.

Ejemplo:

  • Defina 2 variables de usuario

DEFINE columna=job
DEFINE tabla=emp

Ejemplo:

Select &columna, sal From &tabla
Order By &columna;

Debe recordar que:



En Oracle 10g se presenta las línea old y new cuando sustituye los valores de las variables.
Se puede suprimir esta presentanción con la orden iSql*Plus Set Verify Off ó ( Set Ver Off).
Las variables pueden en cualquier parte de un comando SQL o iSql*Plus excepto como primera palabra del comando.
Cuando se define una variable con convenio &&, en este caso se evita que Oracle pida multiples veces el valor de una variable (Oracle implícitamente define la variable).
Para dar un valor diferente a la variable definida con &&, hay que eliminar (undefine) la variable.





No hay comentarios: