我试图找出是否有办法更新记录,而不必列出要更新的每个列名称.
例如,如果我可以使用类似的东西,那将是很好的:
// the parts inside braces are what I am trying to figure out
UPDATE Employee
SET {all columns, without listing each of them}
WITH {this record with id of '111' from other table}
WHERE employee_id = '100'
Run Code Online (Sandbox Code Playgroud)
如果可以这样做,那么编写此类查询的最直接/最有效的方法是什么?
npe*_*npe 22
这是不可能的.
您尝试做的不是SQL规范的一部分,任何数据库供应商都不支持.请参阅MySQL,Postgresql,MSSQL,Oracle,Firebird,Teradata的SQL UPDATE语句的规范.其中每一个仅支持以下语法:
UPDATE table_reference
SET column1 = {expression} [, column2 = {expression}] ...
[WHERE ...]
Run Code Online (Sandbox Code Playgroud)
这是不可能的,但是..
你能行的:
begin tran
delete from table where CONDITION
insert into table select * from EqualDesingTabletoTable where CONDITION
commit tran
Run Code Online (Sandbox Code Playgroud)
小心标识字段。
归档时间: |
|
查看次数: |
35430 次 |
最近记录: |