2017-02-08 1 views
0

Ich importiere XML (nach einigen Prüfungen) mit einer gespeicherten Prozedur. (SP)Erstellen und importieren in Tabelle

ich für jeden Import eine neue Tabelle erstellt werden soll, arbeitet die SP jedoch, wenn ich die Tabellen in den folgenden Code-Namen gebe ich Fehler:

Must declare the table variable "@sTablename". 

Versuchte:

Herstellung @sTablename -> DECLARE @sTablename var (50)

Es muss schon mal gefragt werden aber SO/Google gesucht aber wohl mit der falschen Frage?

USE [DB] 
GO 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 

ALTER PROCEDURE [dbo].[spAddNewDataToHoldingTable] 

@sUPRN varchar(510), 
@sTablename varchar(50) 

AS 
BEGIN 
--------------------------------------- 
INSERT INTO @sTablename 
(
[UPRN] 
) 

VALUES 
(
@sUPRN 
) 
--------------------------------------- 
END 
+0

Sie versuchen, gleiche Variable zu verwenden '@ sTablename' als Prozedur Eingangsgröße und nimm, wie auch deine Tabelle, die Variablen für beide Variablen. Benutze den folgenden Code, wenn er dir hilft. –

Antwort

1

Versuchen Sie es, es kann Ihnen helfen.

USE [DB] 
GO 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 

ALTER PROCEDURE [dbo].[spAddNewDataToHoldingTable] 

@sUPRN varchar(510), 
@sTablename varchar(50) 

AS 
BEGIN 
--------------------------------------- 
DECLARE @sTablename_ TABLE (UPRN varchar(510)) 

INSERT INTO @sTablename_ 
(
[UPRN] 
) 

VALUES 
(
@sUPRN 
) 
--------------------------------------- 
END 

Hinweis: in diesem ive erklärt ‚@sTablename_‘ als Tabellenvariable, die von der Prozedur Eingabe unterscheidet Variable

+0

Schließen Danke, aber die Tabelle existiert bereits, ich habe tatsächlich viel mehr Einsätze als eins, also kann ich die TABELLE (UPRN varchar (510)) fallen lassen? Vielleicht etwas wie DECLARE -atTabelname_ SET -atTablename_ = atsTablename (musste die at-Symbole ersetzen) – indofraiser

+0

@indofraiser, wo Sie Ihre Tabellenvariable in Ihrer Abfrage deklariert haben ..? –

+0

So früh ich eine neue Tabelle erstellen, sagen wir TableYYYMMDD dann möchte ich eine Reihe von Daten in diese Tabelle importieren. Um dies zu tun, muss ich die Tabelle kennen, um sie einzufügen. – indofraiser

Verwandte Themen