Error en SQL DINAMICO

aleplus
14 de Marzo del 2006
Buenas gente.
El problema que me trae es el siguiente...
estoy tratando de ejecutar este codigo y me da error en los updates.
EXECUTE IMMEDIATE \'UPDATE [email protected] SET BORRADA="1" WHERE TABLE_NAME= \'\'\'||C.TABLE_NAME||\'\'\';

donde c.table_name es justamente el campo de un cursor que tiene el nombre de la tabla.

Me sale el error ORA-01756: quoted string not properly terminated -
Si alguien me puede ayudar desde ya lo agradezco.

leoriyagami
14 de Marzo del 2006
Hola,

Te aconsejo que crees tu sentencia SQL y la almacenes en una variable, luego le dices Execute Immediate Nom_Variable;

Ejemplo:
Declare
v_cTemp Varchar(500) := 'Update Tabla set Columna = 0';
Begin
Execute Immediate v_cTemp;
RollBack;
End;

Saludos.

leoriyagami
14 de Marzo del 2006
Para crear tu sentencia puedes hacer algo como esto:

v_cTemp := 'Update [email protected] SET BORRADA = 1 WHERE TABLE_NAME = '||C.TABLE_NAME||';

Saludos.