我写了存储过程,里面用了merge方法,代码如下
MERGE INTO table1
USING (SELECT *
FROM table2
WHERE createtime BETWEEN begintime AND endtime) temp
ON (table1.ID = temp.ID)
WHEN MATCHED THEN
UPDATE
SET table1.VALUE = temp.VALUE
WHEN NOT MATCHED THEN
INSERT (ID, VALUE)
VALUES (temp.ID, temp.VALUE);
其中begintime和endtime是存储过程里的两个参数,编译没有错误,但运行总是提示错误,结果我把begintime和endtime变成两个'2006-01-01'这样的常量以后就运行成功了,但常量我就无法传参数了,不知道是什么原因,如何解决,请高手们指教.
MERGE INTO table1
USING (SELECT *
FROM table2
WHERE createtime BETWEEN begintime AND endtime) temp
ON (table1.ID = temp.ID)
WHEN MATCHED THEN
UPDATE
SET table1.VALUE = temp.VALUE
WHEN NOT MATCHED THEN
INSERT (ID, VALUE)
VALUES (temp.ID, temp.VALUE);
其中begintime和endtime是存储过程里的两个参数,编译没有错误,但运行总是提示错误,结果我把begintime和endtime变成两个'2006-01-01'这样的常量以后就运行成功了,但常量我就无法传参数了,不知道是什么原因,如何解决,请高手们指教.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货