Sql 使用SSIS复制表';s结构和具有不同名称的数据
使用SSI和示例表Sql 使用SSIS复制表';s结构和具有不同名称的数据,sql,sql-server,ssis,Sql,Sql Server,Ssis,使用SSI和示例表myTable和Test\u myTable我想: 删除并创建表格表格Test\u myTable 用MyTable中的数据填充Test\u MyTable 是否有特定的任务可以做到这一点?我在查看Transfer SQL Server Objects Task Editor中的属性Expression Editor,认为在CopyAllObjects属性上放置一个表达式会起作用,但我不确定这是否是正确的路径。我想您可以利用它,只需执行以下操作任务中的语句 而不是删除并创建
myTable
和Test\u myTable
我想:
- 删除并创建表格表格
Test\u myTable
- 用
中的数据填充MyTable
Test\u MyTable
是否有特定的任务可以做到这一点?我在查看
Transfer SQL Server Objects Task Editor
中的属性Expression Editor
,认为在CopyAllObjects
属性上放置一个表达式会起作用,但我不确定这是否是正确的路径。我想您可以利用它,只需执行以下操作任务中的语句
而不是删除并创建简单的截断表,因为删除表意味着您必须向用户授予权限,前提是您有某种限制,并且只有某些特定的用户可以访问数据
不掉落桌子
TRUNCATE TABLE Test_myTable;
GO
INSERT INTO Test_myTable (Col1, Col2, Col3, .....)
SELECT Col1, Col2, Col3, .....
FROM myTable
GO
删除表格并创建
TRUNCATE TABLE Test_myTable;
GO
INSERT INTO Test_myTable (Col1, Col2, Col3, .....)
SELECT Col1, Col2, Col3, .....
FROM myTable
GO
如果出于某种原因,您必须删除表并重新创建它,您可以在executesql任务中执行以下语句
--Drop tables if exists
IF OBJECT_ID('dbo.Test_myTable', 'U') IS NOT NULL
DROP TABLE dbo.Test_myTable
GO
--Create and populate table
SELECT Col1, Col2, Col3, .....
INTO dbo.Test_myTable
FROM myTable
GO
是否可以动态生成此
执行SQL任务
?动态生成此任务是什么意思?您可以创建此任务并有条件地执行它,如果这是您动态创建此任务的意思。我的意思是,该任务将下拉生成表所需的SQL,而无需手动更改执行任务中的SQL。您可以使用表达式填充执行SQL任务的内容。在你最初的帖子中,你没有解释如何/为什么需要动态生成。正如这个答案暗示的那样,硬编码是我处理这个问题的方式。谢谢你的帮助!