我试图通过从 DOMDB 中获取列表来从 APPDB 中删除临时表名称。我无法找到或弄清楚 SQL 中的语法应该如何。
这是两种单独工作的代码的某种组合,但我想将两者结合起来在列表上进行迭代。
USE DOMDB
Declare @OPR_CODE char( 11 )
SET rowcount 0
SELECT OPR_CODE into #TEMPOPR from DOMN_OPR
SET rowcount 1
SELECT @OPR_CODE = OPR_CODE from #TEMPOPR
USE APPDB
DECLARE @OPRCODE NVARCHAR(MAX) = N'';
SELECT @OPRCODE += '
DROP TABLE '
+ QUOTENAME(OBJECT_SCHEMA_NAME([object_id]))
+ '.' + QUOTENAME(name) + ';'
FROM sys.tables
WHERE name LIKE '% + OPR_CODE + 001%';
--something like if OPR_CODE='USER' it will be (WHERE name LIKE '%USER001%';
EXEC sp_executesql @OPRCODE;
while @@rowcount <> 0
begin
set rowcount 0
select * from #TEMPOPR where OPR_CODE = @OPR_CODE
delete #TEMPOPR where OPR_CODE = @OPR_CODE
set rowcount 1
select @OPR_CODE = OPR_CODE from #TEMPOPR
end
set rowcount 0
DROP table #TEMPOPR