Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Exécuter une procédure stockée dans une autre procédure stockée dans le serveur SQL

Si vous souhaitez uniquement effectuer certaines opérations spécifiques par votre deuxième SP et que vous n'avez pas besoin de valeurs de retour du SP, faites simplement :

Exec secondSPName  @anyparams

Sinon, si vous avez besoin de valeurs renvoyées par votre deuxième SP dans votre premier, créez une variable de table temporaire avec un nombre égal de colonnes et avec la même définition de retour de colonne par le deuxième SP. Ensuite, vous pouvez obtenir ces valeurs dans le premier SP comme :

Insert into @tep_table
Exec secondSPName @anyparams

Mise à jour :

Pour passer le paramètre au deuxième sp, procédez comme suit :

Declare @id ID_Column_datatype 
Set @id=(Select id from table_1 Where yourconditions)

Exec secondSPName @id

Mise à jour 2 :

Supposons que votre deuxième sp renvoie Id et Name où type de id est int et name est de varchar(64) saisir.

maintenant, si vous voulez sélectionner ces valeurs dans le premier sp, créez une table temporaire variable et insérez-y des valeurs :

Declare @tep_table table
(
  Id int,
  Name varchar(64)
)
Insert into @tep_table
Exec secondSP

Select * From @tep_table

Cela vous renverra les valeurs renvoyées par le second SP.

J'espère que cela efface tous vos doutes.