![]() |
Pasar Tabla Como Parametro en Stored Procedure
Me gustaria crearme una stored procedure en interbase con el cual pudiera pasar una parmetro tipo Varchar en el cual pondria el nombre de una tabla, en el interior del procedimiento usar este parametro para hacer un select de una tabla por ejemplo:
CREATE PROCEDURE "SP_DR_PROVEEDORES_NOMBRE" ( PARAMETROTABLA VARCHAR(40) ) AS DECLARE VARIABLE CODIGO INTEGER begin FOR SELECT CODIGO FROM PARAMETROTABLA INTO :CODIGO DO BEGIN . . . SUSPEND; END end El motivo de querer hacer esto es que tengo la necesidad de hacer unos procedimientos iguales para distintas tablas, y de este modo podría unificarlo todo en un mismo procedimiento. |
Hola.
No es posible utilizar un nombre de tabla como una variable. Lo único que puedes intentar, es hacer algo con la nueva sentencia execute statement (si no le han cambiado el nombre en la ultima versión) que proporciona el nuevo Firebird 1.5. Con esta instrucción puedes tener una sentencia SQL en una variable de texto, y ejecutarla. Saludos. |
Como bien dice el amigo Marc, con versiones anteriores a Firebird 1.5 no se podía hacer y, para que veas un ejemplillo simple de su uso, te recomiendo este hilo http://www.clubdelphi.com/foros/show...&threadid=3747
(yo también lo he necesitado :p) |
Muchas gracias a ambos, me ha sido de mucha utilidad
|
La franja horaria es GMT +2. Ahora son las 08:41:29. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi