求教如何写一句兼容Oracle以及Sql Server的Update多列语句
eg:
UPDATE test t
SET (tablespace_name, extent_management) = (
SELECT (u.tablespace_name, u.extent_management)
FROM user_tables a, user_tablespaces u
WHERE t.table_name = a.table_name
AND a.tablespace_name = u.tablespace_name)
WHERE t.table_name LIKE '%A%';
此语句在Sql Server中好像不支持, Set一次多列,会报“(”附近有语法错误,查了,sql的联机帮助,貌似是没有类似的语法。
然而如果写成:
UPDATE test t
SET tablespace_name = u.tablespace_name,
extent_management = u.extent_management
FROM user_tables a, user_tablespaces u
WHERE t.table_name = a.table_name
AND a.tablespace_name = u.tablespace_name
AND t.table_name LIKE '%A%';
貌似Oracle会报ORA-00933: SQL command not properly ended的错误。
请问应该如何写能同时适用于这两个数据库?