Sql 正在尝试将更新转换为合并
我的问题很简单。我试图将UPDATE语句转换为MERGE语句以获得更好的性能,因为更新计数可能在10K-1M之间。这是我的更新代码:Sql 正在尝试将更新转换为合并,sql,oracle,merge,sql-update,Sql,Oracle,Merge,Sql Update,我的问题很简单。我试图将UPDATE语句转换为MERGE语句以获得更好的性能,因为更新计数可能在10K-1M之间。这是我的更新代码: UPDATE table_1 t1 SET t1.col_1 = (SELECT t2.name FROM table_2 t2 WHERE t2.fn = t1.col_1), t1.Col_3 = (SELECT t2.name
UPDATE table_1 t1
SET t1.col_1 =
(SELECT t2.name
FROM table_2 t2
WHERE t2.fn = t1.col_1),
t1.Col_3 =
(SELECT t2.name
FROM table_2 t2
WHERE t2.fn = t1.Col_3),
t1.Col_5 =
(SELECT t2.name
FROM table_2 t2
WHERE t2.fn = t1.Col_5);
我试着换成合并:
MERGE INTO Table_1
USING (SELECT NAME FROM table_2) A
ON (1 = 1)
WHEN MATCHED
THEN
UPDATE SET Table_1.col_1 = A.NAME,
Table_1.col_3 = A.NAME,
Table_1.col_5 = A.NAME;
以上代码抛出错误,请帮我解决问题。提前感谢。使用
WHEN NOT MATCHED THEN
INSERT (table_1.col1)
VALUES (a.name);
添加错误消息plaese。您使用的是哪种DBMS?神谕SQL Server?@Jens错误:无法获取到的稳定计数update@a_horse_with_no_name我认为Oracle 10GA缺失
时不匹配
不会导致“无法获取稳定的记录集”错误(在解析时会导致语法错误)