我试图找出一种更新记录的方法,而不必列出需要更新的每个列名。
例如,如果我可以使用类似于以下内容的东西,那就太好了:
// 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'
如果可以做到,那么编写这种查询的最直接/最有效的方法是什么?
这是不可能的。
您尝试执行的操作不属于SQL规范,并且不受任何数据库供应商的支持。请参见MySQL,Postgresql,MSSQL,Oracle,Firebird和Teradata的SQL UPDATE语句的规范。其中的每个仅支持以下语法:
UPDATE table_reference SET column1 = {expression} [, column2 = {expression}] ... [WHERE ...]