Líneas 1 a 2: Crean un procedimiento nuevo o lo reemplazan si ya existe uno anteriormente almacenado con el nombre SELECT_INTO.
Línea 3: Declara la variable vTEXT_LENGTH del mismo tipo de datos que la columna TEXT_LENGTH de la vista ALL_VIEWS.
Líneas 5 a 9: Declaran la sentencia SELECT que recupera la longitud del texto de la vista USER_TABLES y lo asigna a la variable vTEXT_LENGTH.
Líneas 11 y 12: Muestran en pantalla un mensaje y el valor recuperado por la sentencia SELECT.
SQL> CREATE OR REPLACENormalmente se encuentra deshabilitada la salida de mensajes por pantalla. Asignando el valor ON a la variable de ambiente SERVEROUTPUT, SQL*Plus muestra los mensajes de salida de los procedimientos almacenados.
2 PROCEDURE SELECT_INTO AS
3 vTEXT_LENGTH ALL_VIEWS.TEXT_LENGTH%TYPE;
4 BEGIN
5 SELECT TEXT_LENGTH
6 INTO vTEXT_LENGTH
7 FROM ALL_VIEWS
8 WHERE OWNER = 'SYS'
9 AND VIEW_NAME = 'USER_TABLES';
10
11 DBMS_OUTPUT.PUT_LINE('La longitud del texto de la vista es:');
12 DBMS_OUTPUT.PUT_LINE(vTEXT_LENGTH);
13
14 END SELECT_INTO;
15 /
Procedimiento creado.
SQL> DESCRIBE SELECT_INTO
PROCEDURE SELECT_INTO
SQL> SET SERVEROUTPUT ONEjecutamos el procedimiento con el comando EXECUTE.
SQL> EXECUTE SELECT_INTOPodemos leer este tema en la documentación estandar de Oracle:
La longitud del texto de la vista es:
3971
Procedimiento PL/SQL terminado correctamente.
SQL>
Manual: Oracle Database PL/SQL User's Guide and Reference
Capítulo: 6 Performing SQL Operations from PL/SQL
Título: Querying Data with PL/SQL
Subtítulo:Selecting At Most One Row: SELECT INTO Statement
Entradas relacionadas:
PL/SQL Tutorial
Cursores PL/SQL notación SELECT..INTO
Cursores PL/SQL notación FOR...LOOP
Cursores PL/SQL notación CURSOR...FOR...LOOP
Cursores PL/SQL notación OPEN...FETCH...CLOSE
Cursores PL/SQL notación FETCH...BULK COLLECT INTO...
1 comentario:
Hola, hola, hola, hola!!
Publicar un comentario