SQL - Procedimiento Almacenado

 
Vista:

Procedimiento Almacenado

Publicado por Susana (8 intervenciones) el 11/11/2004 11:15:06
En sql server tengo un procedimiento almacenado que me ejecuta 3 comandos
1º un SP que me crea una tabla
2º un SP que me crea otra tabla
3º me ejecuta un Select que se basa en las tablas antes creadas.

Cuando ejecuto este procedimiento almacenado en el Query Analizer me devuelve los datos perfectamente, pero cuando lo ejecuto en Access2003 me da un mensaje: "El procedimiento almacenado se ha ejecutado correctamente pero no ha devuelto ningun conjunto de registros".
Por qué me pasa ésto? qué puedo hacer?

Gracias por adelantado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Procedimiento Almacenado

Publicado por Isaías Islas (5072 intervenciones) el 11/11/2004 17:25:49
Susana, ¿puedes mostrar tu codigo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Procedimiento Almacenado

Publicado por sUSANA (8 intervenciones) el 11/11/2004 19:25:17
CREATE PROCEDURE DBO.LISTADO_PRODUCCALIDAD
@FECHADESDE DECIMAL(8,0),
@FECHAHASTA DECIMAL(8,0),
@ALMACENDESDE DECIMAL(3,0),
@ALMACENHASTA DECIMAL(3,0)

AS
BEGIN

EXEC CREAR_TABLA_BOLETIN @FECHADESDE, @FECHAHASTA, @ALMACENDESDE, @ALMACENHASTA
END

BEGIN

EXEC DATOS_ESTADCALIDAD @FECHADESDE, @FECHAHASTA, @ALMACENDESDE, @ALMACENHASTA

END
BEGIN

select * from list_produccalidad 'CONSULTA BASADA EN CONSULTAS QUE SE BASAN EN LAS TABLAS ANTERIORMENTE CREADAS '

end
GO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Procedimiento Almacenado

Publicado por Isaías Islas (5072 intervenciones) el 11/11/2004 23:05:49
EXEC CREAR_TABLA_BOLETIN, este procedimiento y este otro EXEC DATOS_ESTADCALIDAD, crean sus tablas, ¿Porque NO crea las tablas TEMPORALES (CREATE TABLE #MYTABLATEMPORAL), en el mismo procedimiento LISTADO_PRODUCCALIDAD?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Procedimiento Almacenado

Publicado por Susana (8 intervenciones) el 12/11/2004 12:25:23
Porque, por ejemplo, sobre la primera tabla que se crea van 3 consultas, quiero decir:

create view consulta1
select * from tabla1

create view consulta2
select * from consulta1

create view consulta3
select * from consulta2

Entiendes?, las tablas solo son el origen de datos de muchas consultas y la consulta que se ejecuta en el procedimiento almacenado es la última consulta que ejecuta todas esas consultas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Procedimiento Almacenado

Publicado por Isaías Islas (5072 intervenciones) el 12/11/2004 17:55:20
Susana

Si lo que necesitas es que la construccion de "tus vistas" sean por SELECT con parametros, deberias hacerlo mediante una FUNCION que te regrese una tabla.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Procedimiento Almacenado

Publicado por Susana (8 intervenciones) el 12/11/2004 18:27:58
Isaías,
Entonces, tendré que utilizar funciones en vez de vistas, no?, Entonces, como hago una funcion que se base en los datos de otra función?¿Cómo paso los parámetros que se necesitan?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Procedimiento Almacenado

Publicado por Isaías Islas (5072 intervenciones) el 12/11/2004 23:28:36
¿Una funcion que se base en los datos de otra funcion?, no, no es logico esa expresion, te anexo como generar una funcion que te regrese una Tabla

-- Creo la funcion
CRETE FUNCTION fn_RegresaTabla (@ID int)
RETURNS TABLE
AS
BEGIN
RETURN( SELECT Col1, Col2, Col3 FROM Cliente WHERE CteID = @ID)
END

-- Asi se ejecuta
SELECT Col1, Col2, Col3 FROM fn_RegresaTabla(23)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar