【发布时间】:2013-04-04 10:48:26
【问题描述】:
对于 SSIS,我需要创建一个 TSQL 更新工作流来覆盖当前表记录,以防出现导入错误。
我已经设置了整个 SSIS 流程,但我缺少 SQL 更新语句。
因此,如果在导入过程中出现问题,表中的当前记录(所有行)应该用一条短消息更新 - 例如“错误数据库导入”。
由于我有多个表要处理,我还得到不同的列名和数据类型。
我会使用这个 stmt 来获取列名
SELECT COLUMN_NAME , *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'myTable'
但是如何为 char 类型设置字符串消息,为数字和日期类型设置 NULL。使用 CASE stmt?
在伪代码中,它可能只是通过列的循环:如果 column_name 是 data_type "char" 那么...
我还需要忽略每个表的前 4 列,这样我就不会覆盖 ID、Date 等。
如果您可以帮助我设置静态测试更新 stmt,我相信我可以将其转移到我的 SSIS 项目中。
谢谢。
【问题讨论】:
标签: sql sql-server tsql ssis