Ver Mensaje Individual
  #1  
Antiguo 30-12-2008
Avatar de raorre
raorre raorre is offline
Miembro
 
Registrado: dic 2005
Ubicación: valencia
Posts: 51
Reputación: 19
raorre Va por buen camino
Procedimiento Almacenado con parametros

Buenas..trabajo en firebird 2.1 tengo un procedimiento almacenado donde los parametros de entrada deberian de pasarse como el campo a buscar y la tabla donde buscar, lo que hace este procedimiento en obtener al maximo de la tabla clientes, pero quiero hacerlo general para cualquier tabla.
Como esta abajo funciona, pero si le paso estos parametros me dice que no

FOR SELECT MAX(:CAMPOID) AS REGISTROS FROM :TABLA
Como puedo pasarle los parametros a la tabla y que no me pete, debe ser
un problema de comillas pero no consigo resolverlo.

CREATE PROCEDURE OBTENER_MAXIMO(
TABLA VARCHAR(50) CHARACTER SET NONE COLLATE NONE,
CAMPOID VARCHAR(50) CHARACTER SET NONE COLLATE NONE)
RETURNS(NUMREG INTEGER)
AS
DECLARE VARIABLE CONTADOR INTEGER;
BEGIN
FOR SELECT MAX(ID_CLIENTE) AS REGISTROS FROM TCLIENTES
WHERE 1=1
INTO :CONTADOR DO
BEGIN
IF (:CONTADOR=0) THEN NUMREG=1;
ELSE NUMREG=CONTADOR+1;
SUSPEND;
END
END
Responder Con Cita