sql – alter table然后在单个语句中更新
发布时间:2020-12-12 08:23:28 所属栏目:MsSql教程 来源:网络整理
导读:我有一个要求,我需要改变(添加2列),然后更新同一个表. 这是我试过的查询: ALTER TABLE AADD c1 int,c2 varchar(10)UPDATE A set c1 = 23,c2 = 'ZZXX' 我需要一次运行上述两个查询. 我正在使用Talend ETL工具,在这里我们有一个组件tMssqlrow,它允许我们运行多
我有一个要求,我需要改变(添加2列),然后更新同一个表.
这是我试过的查询: ALTER TABLE A ADD c1 int,c2 varchar(10) UPDATE A set c1 = 23,c2 = 'ZZXX' 我需要一次运行上述两个查询. 我正在使用Talend ETL工具,在这里我们有一个组件tMssqlrow,它允许我们运行多个查询(我在单个组件中使用10到15个更新查询). 但上述查询不起作用. 我在DataBase Microsoft SQL中测试过.我得到以下错误:
任何人都可以帮我解决这个问题. 解决方法您不能在单个语句(或批处理)中完成此操作,并且您使用的工具似乎不支持将GO作为批处理分隔符.您可以使用EXEC在子批中运行它. ALTER TABLE A ADD c1 INT,c2 VARCHAR(10); EXEC(' UPDATE A SET c1 = 23,c2 = ''ZZXX''; '); 注意:查询中的所有单引号需要如上所述将其翻译成字符串文字. 或者您可以借助一些默认约束在单个语句中实现类似的结果. ALTER TABLE A ADD c1 INT NULL CONSTRAINT DF_A_c1 DEFAULT 23 WITH VALUES,c2 VARCHAR(10) CONSTRAINT DF_A_c2 NULL DEFAULT 'ZZXX' WITH VALUES; 但这与原始查询不完全相同,因为默认约束将被丢弃,可能需要删除. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- mysql手动删除BINLOG的方法
- sql – Oracle中分页查询的速度
- SQL2005中char nchar varchar nvarchar数据类型的区别和使用
- 安装SqlServer2005时“版本变更检查 (警告)"问题排查
- sql-server – 更改Getdate的输出
- 使用MSSQL查询获取父级的所有子级
- sql – “Y”上的“X”属性无法设置为“null”值.您必须将此
- sql – 最好检查项目是否存在:选择计数(ID)或存在(…)?
- SQL2005 四个排名函数(row_number、rank、dense_rank和ntil
- 如何以编程方式从连接的备用数据库唤醒Windows 8.1