我试图在pl / sql中编写查询 我知道它应该按此顺序
DECLARE 。 。 开始 。 。 结束 。 RUN;
我这样做但是在结束后我遇到了一个奇怪的问题。 oracle标记点下的红线和单词“end”的结尾,当我把鼠标放在线上时它说 “语法错误,预期: 识别码 名称 name_wo_function_call“
这是我的代码
DECLARE
temp_m model.model%TYPE;
temp_mn model.modelnum%TYPE;
temp_cap model.capacity%TYPE;
temp_we model.weight%TYPE;
CURSOR temp IS SELECT * FROM model WHERE (weight>40) FOR UPDATE;
CURSOR temp2 IS SELECT model_num,COUNT(id)
FROM TECH_MO
GROUP BY model_num
HAVING COUNT(id)>1;
BEGIN
OPEN temp;
OPEN temp2;
LOOP
FETCH temp INTO temp_m,temp_mn,temp_cap,temp_we;
dbms_output.put_line(temp_m);
EXIT WHEN temp%notfound;
END LOOP;
CLOSE temp;
CLOSE temp2;
END;
.
RUN;
谢谢你的回答。
答案 0 :(得分:1)
不知道你从哪里获得.RUN,因为它不是语法的一部分。在脚本中执行此操作的方法就是这样。
DECLARE
...
BEGIN
...
EXCEPTION
...
END;
/
(例外部分是可选的)
您没有看到我怀疑输出的问题是因为您没有设置服务器输出。你可以在SQL * Plus中这样做。
SET SERVEROUTPUT ON