EXEC SP_EXECUTESQL 给我错误
必须声明表变量“@TABLE”
我们该如何解决这个问题?
TESTTABLE其中包含6个表名。我必须从 TestTABLES 中获取所有表名,并根据匹配条件从所有 6 个表中删除记录。
CREATE PROCEDURE TEST_SCHEMA.TEST_SP
@P_DATE CHAR(10),
@P_TIME CHAR(8),
@P_MILSEC CHAR(6),
@P_RECORD CHAR(1),
@P_NODE CHAR(2)
AS
BEGIN
DECLARE @SQL AS NVARCHAR(MAX);
DECLARE @zTABLE VARCHAR(10);
DECLARE @ParmDefinition NVARCHAR(MAX);
DECLARE TABLES_LIST CURSOR FOR SELECT TBL_NAME FROM TESTTABLE WITH
(NOLOCK);
OPEN TABLES_LIST
FETCH FROM TABLES_LIST INTO @zTABLE
WHILE @@FETCH_STATUS = 0
BEGIN
SET @SQL = N'DELETE FROM @TABLE WHERE DATE = @DATE AND TIME = @TIME AND
MILSEC = @MILSEC AND RECORD = @RECORD …Run Code Online (Sandbox Code Playgroud)