-1

我试图在 pl/sql 中写一个查询我知道它应该是这个顺序

宣布 。. 开始 。. 结尾 。跑;

我这样做了,但结束后我遇到了一个奇怪的问题。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;

谢谢您的回答。

4

1 回答 1

1

不知道你从哪里得到 .RUN ,因为这不是语法的一部分。在脚本中执行此操作的方法是这样的。

DECLARE
  ...
BEGIN
  ...
EXCEPTION
  ...
END;
/

(例外部分是可选的)

关于没有看到我怀疑的输出的问题是因为您没有设置服务器输出。您可以在 SQL*Plus 中这样做。

SET SERVEROUTPUT ON
于 2013-01-15T16:14:49.340 回答