Ich versuche, einen Tabellentyp Parameter namens "ListOfName" zu erstellen, und einen Parameter dieses Typs in meiner Prozedur festlegen. Aber ein Fehler entstanden sind:Definieren Sie einen Tabellentyp Parameter
muss die skalare Variable "@Table_Name_List"
erklären, aber ich erkläre
CREATE TYPE ListOfName AS TABLE (Table_Name nvarchar(50));
CREATE PROCEDURE spTest
@Table_Name_List ListOfName READONLY
AS
SELECT * from dbo.Table_Size_Daily
WHERE Table_NAME IN (@Table_Name_List)
Go
Wenn ich eine Erklärung vor der Definition chunk hinzufügen,
DECLARE @Table_Name_List AS ListOfName;
Der Fehler war:
Der Variablenname '@Table_Name_List' wurde bereits deklariert. Variablennamen müssen innerhalb eines Abfrage-Batches oder einer gespeicherten Prozedur eindeutig sein.
Wie kann ich es beheben? Vielen Dank
'@ Table_Name_List' ist ein Tabellentyp, der in Ihrer' where' – techspider
-Studie nicht übergeben werden kann [dieser Artikel] (https://msdn.microsoft.com/en-us/library/bb675163 (v = vs. 110) .aspx) zur Verwendung von Tabellentypen – techspider
Schnellkorrektur: 'WHERE Table_NAME IN (SELECT Tabellenname FROM @Table_Name_List)' – techspider