SQL dynamiquement créer des procédures stockées?
Je suis en train de créer un script pour créer et configurer un groupe de procédures stockées qui seront tous assez semblables.
Donc je suis en train de faire une boucle par le présent code, la modification de la @DATABASE_NAME
et @TableName
en cas de besoin.
/* Start loop */
DECLARE @create_stored_procedure nvarchar(max)
SET @create_stored_procedure = N'
USE [' + @DATABASE_NAME + ']
CREATE PROCEDURE [dbo].[sproc_imp_' + @TableName + ']
AS
BEGIN
PRINT(''doing something'')
END'
EXEC sp_executesql @statement = @create_stored_procedure
/* End loop */
Mais j'obtiens des erreurs en disant
'CRÉER/MODIFIER la PROCÉDURE doit être la première instruction dans un traitement de requêtes.
ou
'CRÉER/MODIFIER PROCÉDURE ne permet pas de spécifier le nom de base de données comme un préfixe pour le nom de l'objet.
Toutes les solutions en ligne vous suggérons d'utiliser d'y ALLER, mais ça ne marchera pas dans SQL dynamique.
Que quelqu'un connait une solution possible pour SQL Server 2005?
use db
et create procedure
que deux sql dynamique?OriginalL'auteur user802599 | 2013-07-19
Vous devez vous connecter pour publier un commentaire.
Je ne qualifierais pas la solution intuitive, mais apparemment cette œuvres. Je préfère le look de cette une.
OriginalL'auteur Zec
J'ai essayé Nithesh de réponse et qui n'a pas fonctionné pour moi, il a fini par créer la procédure stockée dans la table maître. Zec de la réponse travaillé. Création d'une requête dynamique à l'intérieur de ma requête dynamique.
OriginalL'auteur user802599
Essayer avec spiting DB et de créer de la procédure. Comme ce
Cela fonctionne parfaitement pour moi
OriginalL'auteur Nithesh