使用过程的默认值的问题

[复制链接]
查看11 | 回复5 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
本人建立如下的过程
create or replace procedure sp_1 ( vid IN VARCHAR2 DEFAULT '1' ) as
ndate CHAR(10);
begin
SELECT TO_CHAR(SYSDATE - vid, 'YYYY.MM.DD') into ndate FROM DUAL;
dbms_output.put_line(vid);
dbms_output.put_line(ndate);
insert into AAA select vid,ndate from dual;
commit;
end sp_1;
但是执行过程,使用默认值(不输入数据)时,返回、插入的值都为空,不知是什么原因?请各位高人告诉一下,先谢了!
系统为AIX5。0,ORDER 8.17
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
本人公司有十台服务器,执行上述语句,结果一样是空的,不知为什么?但是此语句发给别人执行就正常。请问各位知道的高人告诉一下。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
最初由 sbjt 发布
[B]但是此语句发给别人执行就正常。 [/B]

True, I ran that stored procedure of yours, and it worked fine.
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
set serverout on
看一看
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
我在win2K上重新安装(默认建库),运行上述语句,结算仍为空,是否与参数的设定有关???
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
SQL*Plus: Release 8.1.7.0.0 - Production on 星期日 12月 7 13:51:19 2003
(c) Copyright 2000 Oracle Corporation.All rights reserved.

连接到:
Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production
SQL> create or replace procedure sp_1 ( vid IN VARCHAR2 DEFAULT '1' ) as
2ndate CHAR(10);
3begin
4
5SELECT TO_CHAR(SYSDATE - vid, 'YYYY.MM.DD') into ndate FROM DUAL;
6dbms_output.put_line(vid);
7dbms_output.put_line(ndate);
8end sp_1;
9/
过程已创建。
SQL> set serveroutput on;
SQL> execute sp_1;
1
2003.12.06
PL/SQL 过程已成功完成。
SQL>
应该是有结果的呀。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行