SISTEMAS MS

EXECUTE ORACLE Consultas Dinamicas.

En algun momento como desarrolladores nos encontramos en la necesidad de ejecutar consultas dinamicas, en el caso de oracle utilizamos la sentencia EXECUTE.


Syntax
Description of execute_immediate_statement.gif follows





bind_argument
Una expresión cuyo valor se pasa a la sentencia de SQL dinámico , o una variable que almacena un valor devuelto por la sentencia de SQL dinámico .
BULK COLLECT
Almacena el resultado valores en una o más colecciones , para consultas rápidas que los lazos con las instrucciones FETCH . Para obtener más información, consulte " Reducir la sobrecarga del bucle para declaraciones DML y consultas con SQL granel " .
collection_name
Una colección en la que los valores declarados Select_Item se recuperan . Para cada select_item , debe haber una colección correspondiente , con capacidad para un tipo en la lista .
host_array_name
Un array (declarado en un entorno de acogida PL / SQL y se pasa a PL / SQL como una variable de vinculación ) en el que los valores Select_Item se recuperan . Para cada select_item , debe haber una matriz correspondiente , con capacidad para un tipo en la lista . Arrays de acogida deben ir precedidos por dos puntos .

define_variable
Una variable que almacena un valor de columna seleccionado.
dynamic_string
Un literal de cadena , una variable o expresión que representa a una sentencia SQL o un bloque PL / SQL. Debe ser de tipo CHAR o VARCHAR2 , NCHAR o NVARCHAR2 no .

INTO
Se usa sólo para consultas de una sola fila , esta cláusula especifica las variables o registro en el que se recuperan los valores de columna . Para cada valor recuperado por la consulta , debe haber un correspondiente , variable o campo de tipo compatible en la cláusula INTO .

record_name
Un registro ROWTYPE definida por el usuario o% que almacena una fila seleccionada

returning_clause
Devuelve los valores de filas insertadas , lo que elimina la necesidad de seleccionar las filas después. Puede recuperar los valores de columna en variables o en colecciones . No se puede utilizar la cláusula RETURNING para insertos remotas o paralelas. Si la declaración no afecta a ninguna fila , los valores de las variables especificadas en la cláusula RETURNING no están definidos. Para la sintaxis de returning_clause , consulte la "Cláusula RETURNING INTO" .

USING ...
Especifica una lista de entrada y / o argumentos de vinculación de salida. Los valores predeterminados de parámetro IN.

 EXECUTE IMMEDIATE  
[INTO ]  
[USING ];



BEGIN
EXECUTE IMMEDIATE 'create table abcd (efgh NUMBER)';
EXECUTE IMMEDIATE 'drop table abcd';
EXECUTE IMMEDIATE 'create table abcd (efgh VARCHAR2(10))';
END;






No hay comentarios:

Publicar un comentario