2 qq 37889561 qq_37889561 于 2017.08.27 16:40 提问

PL/SQL里没有输出结果
 set serveroutput on

declare
       --游标类型定义
       cursor table_cur
       is
       select Material and Formula from "Table_1"
       WHERE 'Calculate'='是';
       --定义一个游标变量table_row table_cur%ROWTYPE ,该类型为游标table_cur中的一行数据类型
       table_row table_cur%rowtype;

begin

       --游标for循环开始
       for table_row in table_cur loop
         dbms_output.put_line(table_row.Material||'-'||table_row.Formula);

       end loop;
       ----游标for循环结束

       close table_cur;
end;

这段SQL 放到Command Windows里 显示的是 空,是因为有错误吗?
如果放到SQL里的话只能把 set serveroutput on删除掉才不报错,但是不显示输出结果,是代码有问题吗?

3个回答

CSDN___LYY
CSDN___LYY   2017.08.27 16:55
已采纳

set serverouput on;要和下面的语句分开 是不是忘记在on后面加分号了

CSDN___LYY
CSDN___LYY 回复qq_37889561: %rowtype前面应该放对象,比如表名之类的 ,你放的游标的名字不对吧
11 个月之前 回复
qq_37889561
qq_37889561 不行的,加了分号也是显示不出,完全就是空白,没有输出结果,
11 个月之前 回复
zy841958835
zy841958835   Ds   Rxr 2017.08.27 21:06

select Material and Formula from "Table_1"
select Material , Formula from "Table_1"

haihhhhh
haihhhhh   2017.08.27 22:52

select Material and Formula from "Table_1" 。 Material and Formulas是什么鬼,应该是逗号把。可以先把你游标的sql试试能不能执行,最好有数据才好调试。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
PL/SQL的dbms_output.put_line不显示结果解决方法
用dbms_output.put_line来输出变量的一些信息,却总是看不到结果 解决方法: 原来要先入以下代码才可以: set serveroutput on; 之后再用dbms_output.put_line输出就可以了。
set serveroutput on 在PL/SQL中输出内容
在sqlplus中输出内容,使用dbms_output.put_line(2);  显示不出来内容;     Oracle PL/SQL语言是结合了结构化查询语言SQL与Oracle自身过程控制为一体的强大语言。 连接到Oracle SQL*Plus后,在“SQL>”字符串后输入PL/SQL代码; SQL> DECLARE 2 len number:=5; 3 width
PL/SQL输出信息到文件
先创建目录 create directory temp as '/tmp'; 然后授权 grant read,write on directory temp to dba; 例子: declare FILE_HANDLE UTL_FILE.FILE_TYPE;
在PL/SQL DEVELOPER里输出信息
在sql window里, 写一个输出语句,看不到任何东东。 输入set serveroutput on,会显示错误信息:ORA-00922:选项缺失或无效。 出错原因: 这个是sqlplus命令,在plsql developer里没有 解决办法:改用在commond window 执行就可以了。
pl/sql 创建并执行oralce存储过程,并返回结果集
因为以前一直用sql server多,现在一下子用oracle ,d
sqlplus不显示pl/sql的执行结果
使用set  serveroutput  on 命令设置环境变量serveroutput为打开状态,从而使得pl/sql程序能够在SQL*plus中输出结果  解决结果无法显示的问题:
sql developer中的dbms_output.put_line不能输出结果
在“查看”菜单栏中,点击“DBMS输出”,打开后,可以看到在下面有个DBMS输出,但是此时应该是灰色的。点击“DBMS输出”区域左上角的连接符号,选择好连接,这时候就能看见输出了。
PL/SQL里拼接SQL的查询结果赋值给一个变量
写存储过程的时候往往想查一个表,然后从表中取出一个结果当作变量来用,但是表名需要拼接,只能写到v_sql字符串里然后再用EXECUTE IMMEDIATE 执行。可以用 EXECUTE IMMEDIATE v_sql INTO 变量 来获取想要的值   v_sql := 'SELECT MAX(REDODATE)           FROM (SELECT DISTINCT
如何在pl/sql中查看dbms_output.put_line(varname)的输出结果?
declare varname varchar2(20); begin select t.product_name into varname from product t where t.product_id=2021015 ; dbms_output.put_line(varname); end; 写SQL语句的地方,上边有个标签页叫 SQL,你测试一是再这里面直接就可以看到,  再 SQ
ORACLE 11g 自带程序 SQL Developer中不显示DBMS_OUTPUT.PUT_LINE()解决方案
习惯在ORACLE 11g 内置安装的SQL Developer 中编写 PL/SQL 代码,但是SQL Developer 内并没有默认开启 DBMS_OUTPUT.PUT_LINE() 的执行,需要我们配置一些东西,先看代码 [sql] view plaincopy DECLARE VAR_ONE VARCHAR2(50) := 'HEllo