gpt4 book ai didi

sql-server - 如何创建表名存储在变量中的表? - SSIS

转载 作者:行者123 更新时间:2023-12-03 18:35:55 25 4
gpt4 key购买 nike

SSIS执行SQL任务中,我有以下代码:

IF NOT EXISTS(
SELECT * FROM sys.tables t INNER JOIN sys.schemas s on s.schema_id =
t.schema_id
WHERE t.name = 'tableName' AND s.name = 'stg')
BEGIN
CREATE TABLE [stg].[tableName] (
Col1 nvarchar(255),
Col2 nvarchar(1800)
)
END

如何使 tableName 成为一个变量,以便我可以轻松更改名称?

最佳答案

创建一个执行sql任务,然后在SqlStatement中使用直接输入类型编写此代码:

declare @sch nvarchar(10)   
,@tb nvarchar(50)
,@query nvarchar(1000)

Set @sch= ?
Set @tb= ?

IF NOT EXISTS(
SELECT * FROM sys.tables t INNER JOIN sys.schemas s on s.schema_id =
t.schema_id
WHERE t.name = @tb AND s.name = @sch)
BEGIN
set @query='CREATE TABLE '+@sch+'.'+@tb+' ( Col1 nvarchar(10),Col2 nvarchar(10) )'
exec sp_executesql @query
END

然后在“参数映射”选项卡中使用参数名称 0 和 1 映射变量(按代码中出现的顺序)
您甚至可以使用此解决方案动态创建列。

关于sql-server - 如何创建表名存储在变量中的表? - SSIS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45133592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com