Ver Mensaje Individual
  #4  
Antiguo 03-07-2003
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Reputación: 26
kinobi Va por buen camino
Hola,

[... DSQL en procedimientos almacenados ...]

Cita:
Posteado originalmente por mlara
Si esto es así, por qué en la referencia del lenguaje DECLARE CURSOR se expone como una sentecia no DDL sino DML que puede usarse como las otras, pero que sólo está disponible en gpre y DSQL?
En la documentación que tengo yo, la de InterBase 6, indica que que "DECLARE CURSOR" puede utilizarse en SQL y DSQL, como cualquier otra sentencia DDL (CREATE TABLE, CREATE INDEX, ...). No existe impedimento para utilizar una sentencia DDL en DSQL.

Cita:
Posteado originalmente por mlara
Además por qué si no puedo crear mis propios cursores se expone también la sentencia FETCH también como una sentencia DML que me permite desplazarme a través del cursor?
Básicamente porque sí puedes crear tus propios cursores, pero no en el código de procedimientos almacendos.

En resumen, y para el caso concreto de InterBase: en el código de un procedimiento almacenado no puedes crear una sentencia dinámicamente en tiempo de ejecución. Por ello no es posible pasar como parámetro al procedimiento una sentencia SQL desde el cliente (lo comento porque es una cuestión planteada cada cierto tiempo en este foro), ni tampoco crearla en el propio procedimiento. Lo anterior también es aplicable a triggers.

Saludos.
Responder Con Cita