SoloCodigo

Bases de Datos => Oracle => Mensaje iniciado por: lcauso en Viernes 3 de Diciembre de 2004, 12:52

Título: Sentencia If En Oracle
Publicado por: lcauso en Viernes 3 de Diciembre de 2004, 12:52
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
Título: Re: Sentencia If En Oracle
Publicado por: RadicalEd en Viernes 3 de Diciembre de 2004, 17:49
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
Título: Re: Sentencia If En Oracle
Publicado por: JuanK en Sábado 4 de Diciembre de 2004, 02:41
lcauso lo que acabas de decir no tiene sentido.
o al menos no lo has sabido expresar.
Título: Re: Sentencia If En Oracle
Publicado por: lcauso en Jueves 9 de Diciembre de 2004, 14:15
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?
Título: Re: Sentencia If En Oracle
Publicado por: JuanK en Jueves 9 de Diciembre de 2004, 16:16
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.
Título: Re: Sentencia If En Oracle
Publicado por: lcauso en Miércoles 15 de Diciembre de 2004, 10:07
Muchisimas gracias Juank, tu ayuda me ha servido de mucho.

GRACIAS