Funcion equivalente de oracle en Sql Server
Publicado por Armando (2 intervenciones) el 22/12/2009 21:46:55
Saludos,
estoy tratanto de implementar algo que ya realice en oracle pero con Sql Server, en oracle defini un paquete asi:
create or replace package body PKG_CENTRAL_POLIZAS is
procedure sp_dual(P_CADENA VARCHAR2, salida out cur_consulta) IS
BEGIN
OPEN SALIDA FOR 'Select ' || P_CADENA || ' from dual';
END;
procedure sp_dual_for_multirow(P_CADENA VARCHAR2, salida out cur_consulta) IS
aux cur_consulta;
BEGIN
OPEN aux FOR 'Select ' || P_CADENA || ' from dual';
fetch aux into salida;
END;
end PKG_CENTRAL_POLIZAS;
El objetivo es recibir una cadena que contiene una llamada a una funcion y que te regrese ya sea un dato (en el caso de sp_dual ) o un cursor con los resultados de la funcion en el caso de sp_dual_for_multirow.
Se me ocurrio que deberia ser algo asi:
CREATE PROCEDURE dbo.selectdual(@pSQL varchar)
AS
BEGIN
Exec @pSQL;
END
Pero me regresa un error, alguien tiene alguna idea, muchas gracias.
estoy tratanto de implementar algo que ya realice en oracle pero con Sql Server, en oracle defini un paquete asi:
create or replace package body PKG_CENTRAL_POLIZAS is
procedure sp_dual(P_CADENA VARCHAR2, salida out cur_consulta) IS
BEGIN
OPEN SALIDA FOR 'Select ' || P_CADENA || ' from dual';
END;
procedure sp_dual_for_multirow(P_CADENA VARCHAR2, salida out cur_consulta) IS
aux cur_consulta;
BEGIN
OPEN aux FOR 'Select ' || P_CADENA || ' from dual';
fetch aux into salida;
END;
end PKG_CENTRAL_POLIZAS;
El objetivo es recibir una cadena que contiene una llamada a una funcion y que te regrese ya sea un dato (en el caso de sp_dual ) o un cursor con los resultados de la funcion en el caso de sp_dual_for_multirow.
Se me ocurrio que deberia ser algo asi:
CREATE PROCEDURE dbo.selectdual(@pSQL varchar)
AS
BEGIN
Exec @pSQL;
END
Pero me regresa un error, alguien tiene alguna idea, muchas gracias.
Valora esta pregunta


0