valor que procedimientos procedimiento pasar parametros para mostrar ejemplo ejecutar devuelven desde declarar datos almacenados almacenado sql stored-procedures sql-server-2012 azure-sql-database

que - procedimiento almacenado sql server select



No se puede llamar al procedimiento almacenado dentro del procedimiento almacenado (1)

Ciertamente puede ejecutar múltiples procedimientos desde un solo SP. Incluso puede usar los resultados de 1 SP como parámetros en otro.

En su caso específico, sospecho que hay un error de permisos / seguridad o intercalación que le impide acceder a los procesos B y C almacenados.

Aquí hay un ejemplo de encadenamiento SP en el trabajo.

SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[DerivedProcedures] AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Temporary table used to store results from SP1 DECLARE @Results_ForStoredProcedure1 TABLE ( [SPID] INT, [Status] NVARCHAR(50), [Login] NVARCHAR(50), [HostName] NVARCHAR(50), [BlkBy] NVARCHAR(5), [DBName] NVARCHAR(50), [Commad] NVARCHAR(50), [CPUTime] INT, [DiskIO] INT, [LastBatch] NVARCHAR(50), [ProgramName] NVARCHAR(50), [SPID2] INT, [RequestId] INT ) -- Execute SP1 INSERT INTO @Results_ForStoredProcedure1 EXEC sp_who2 -- Temporary table to store the results from SP2 DECLARE @Results_ForStoredProcedure2 TABLE ( [DatabaseName] NVARCHAR(50), [DatabaseSize] INT, [Remarks] NVARCHAR(50) ) -- Execute SP2 INSERT INTO @Results_ForStoredProcedure2 EXEC sp_databases -- do something with both SP results SELECT DISTINCT SP2.* FROM @Results_ForStoredProcedure1 AS SP1 INNER JOIN @Results_ForStoredProcedure2 AS SP2 ON SP2.DatabaseName = SP1.DBName WHERE SP1.DBName IS NOT NULL END GO -- TEST EXECUTE [dbo].[DerivedProcedures]

Tengo tres procedimientos almacenados A, B, C

y definición de A es como

StoredProcedure A As Begin --Some Stuff Exec DBO.B [Derived Conitions] Exec DBO.C [Derived Conitions] END

pero cada vez que intenté ejecutar el procedimiento almacenado A, en el tiempo de análisis daba waring;

El módulo ''A'' depende del objeto perdido ''B''. El módulo seguirá siendo creado; sin embargo, no se puede ejecutar con éxito hasta que el objeto exista.
El módulo ''A'' depende del objeto perdido ''C''. El módulo seguirá siendo creado; sin embargo, no se puede ejecutar con éxito hasta que el objeto exista.

En el momento de la ejecución arroja una excepción

No se pudo encontrar el procedimiento almacenado ''dbo.B''.
No se pudo encontrar el procedimiento almacenado ''dbo.C''.

Encontré tantas respuestas para llamar a un procedimiento almacenado en el procedimiento almacenado, pero ninguna de ellas funcionó para mí.