Delimitadores e Identificadores
Símbolo | Significado |
+ | operador de suma |
% | indicador de atributo |
‘ | delimitador de caracteres |
. | selector de componente |
/ | operador de división |
( | expresión o delimitador de lista |
) | expresión o delimitador de lista |
: | indicador de variable host |
, | separador de ítems |
* | operador de multiplicación |
“ | delimitador de un identificador entre comillas |
= | operador relacional |
< | operador relacional |
> | operador relacional |
@ | indicador de acceso remoto |
; | terminador de sentencias |
- | negación u operador de substracción |
Símbolo | Significado |
:= | operador de asignación |
=> | operador de asociación |
|| | operador de concatenación |
** | operador de exponenciación |
<< | comienzo de un rótulo |
>> | fin de un rótulo |
/* | comienzo de un comentario de varias líneas |
*/ | fin de un comentario de varias líneas |
.. | operador de rango |
<> | operador relacional |
!= | operador relacional |
^= | operador relacional |
<= | operador relacional |
>= | operador relacional |
-- | comentario en una línea |
Tipos de Datos y Conversiones
Figura 3-1: Tipos de datos de PL/SQL
Conversiones
Tabla de conversiones implícitas
Hasta | BIN_INT | CHAR | DATE | LONG | NUMBER | PLS_INT | RAW | ROWID | VARCHAR2 |
Desde | |||||||||
BIN_INT | X | X | X | X | X | ||||
CHAR | X | X | X | X | X | X | X | X | |
DATE | X | X | X | ||||||
LONG | X | X | X | ||||||
NUMBER | X | X | X | X | X | ||||
PLS_INT | X | X | X | X | X | ||||
RAW | X | X | X | ||||||
ROWID | X | X | |||||||
VARCHAR2 | X | X | X | X | X | X | X | X |
Uso de %TYPE
El atributo %TYPE define el tipo de una variable utilizando una definición previa de otra variable o columna de la base de datos.
Ejemplo:
DECLARE
credito REAL(7,2);
debito credito%TYPE;
Uso de %ROWTYPE
El atributo %ROWTYPE precisa el tipo de un registro (record) utilizando una definición previa de una tabla o vista de la base de datos. También se puede asociar a una variable como del tipo de la estructura retornada por un cursor.
Ejemplo:
DECLARE
emp_rec emp%ROWTYPE;
CURSOR c1
IS
SELECT deptno, dname, loc
FROM dept;
dept_rec c1%ROWTYPE;