Bases de Datos > Oracle
Sentencia If En Oracle
lcauso:
Hola, quiero utilizar la sentencia IF-THEN-ELSE en un script, pero no utilizando lenguange PL/SQL, ¿se puede utilizar?
Un ejemplo:
IF(select 1 from tabla) THEN
conjunto de sentencias;
END IF;
Gracias
RadicalEd:
TENGO ENTENDIDO, QUE SOLO EN PL/SQL SE PUEDEN UTILIZAR ESE TIPO DE SENTENCIAS AL IGUAL QUE WHILE Y FOR, 'TONCES NO CREO POSIBLE QUE LO PUEDAS HACER :(
OK. CHAO
JuanK:
lcauso lo que acabas de decir no tiene sentido.
o al menos no lo has sabido expresar.
lcauso:
Hola de nuevo, lo que hago es modificaciones de objetos de modelo de datos, es decir, utilizo sentencias DDL y por ello no puedo utilizar PL/SQL.
Necesito comprobar que modificaciones se han realizado y en consecuencia realizar diferentes rollback de ellas.
Tampoco me dejan utilizar ningun tipo de lenguaje embebido
¿Se os ocurre alguna forma?
JuanK:
Las sentencias que modifican las estructuras o crean nuesvas estructuras de datos no permiten hacer rollback.
Por otro lado con PL/SQL si puedes crear estructuras (usa DDL) y usar otras sentencuias, esto lo puedes hacer de dos formas
1- a traves de la sentencia execute immediate, la cual recuibe como parametro un string con lo que piensas ejecutar en DDL o otro tipo desentencias sql
2- a traves del package incorporado de oracle que se llama DBMS_SQL usando sus metodos: DBMS_SQL.OPEN_CURSOR, DBMS_SQL.PARSE ,DBMS_SQL.BIND_VARIABLE , DBMS_SQL.DEFINE_COLUMN, DBMS_SQL.EXECUTE, DBMS_SQL.FETCH_ROWS, DBMS_SQL.COLUMN_VALUE, DBMS_SQL.IS_OPEN , DBMS_SQL.CLOSE_CURSOR etc.
Navegación
[#] Página Siguiente
Ir a la versión completa