J'ai créé une procédure stockée, mais j'obtiens une erreur de syntaxe de début:
CREATE PROCEDURE Upload_Address
@COM_Addresstbl
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO COM_Address(Email, CompanyName)
SELECT Email, CompanyName
FROM COM_Address
END
3 Réponses :
Vous devez spécifier le type d'entrée, par exemple, tapez nvarchar (50) pour
COM_Addresstbl Vous pouvez utiliser le code suivant: CREATE PROCEDURE Upload_Address
@COM_Addresstbl nvarchar(50)
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO COM_Address(Email, CompanyName)
SELECT Email, CompanyName
FROM COM_Address
END
Le paramètre n'est pas du tout utilisé. Je ne vois pas comment cela aide. Le PO doit mieux expliquer quel est son problème et ce qu'il essaie de réaliser ici
Vous devez définir le type de table comme indiqué ci-dessous
CREATE Type tabletypename As table ( Email varchar(max), CompanyName varchar(max) )
** comment créer un type de table **
CREATE PROCEDURE Upload_Address
@COM_Addresstbl tabletypename readonly
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO COM_Address(Email, CompanyName)
SELECT Email, CompanyName
FROM @COM_Addresstbl
END
CRÉER UNE PROCÉDURE Upload_Address COMME COMMENCER SET NOCOUNT ON;
INSERT INTO COM_Address(Email, CompanyName)
SELECT Email, CompanyName
FROM COM_Address
END
vous devez définir le type de données pour
@COM_Addresstbldu paramètre d'entréePourquoi avez-vous même le paramètre
@COM_Addresstbl, alors qu'il n'est jamais utilisé dans votre SP? Votre SP duplique simplement les données des colonnesEmailetCompanyNamedans le tableauCOM_Address. Qu'est-ce que vous essayez réellement d'accomplir ici, car je doute que ce soit pour dupliquer les données.Que demandez-vous exactement? Pouvez-vous expliquer ce que cette procédure doit faire, car même si nous corrigeons la syntaxe pour que l'erreur disparaisse, cette procédure ne fait rien d'autre que dupliquer toutes les données d'une table. Le paramètre n'est même pas utilisé du tout