📄 subject_46731.htm
字号:
<p>
序号:46731 发表者:Diversity 发表日期:2003-07-13 16:50:11
<br>主题:Oracle 的存储过程问题。
<br>内容:Oracle 的存储过程问题,以下的语句编译成功,但在页面调用时报错,那位帮忙给看看。<BR><BR><BR>CREATE OR REPLACE PROCEDURE "CKADMIN2"."PUTNUMBER" <BR> as<BR>sUserID varchar2(50);<BR>eUserID varchar2(50);<BR>UserID varchar2(13);<BR>State number(3);<BR>AgentID varchar2(50);<BR>CityID varchar2(6);<BR>OID varchar2(10);<BR>i integer;<BR>s integer;<BR>e integer;<BR>begin<BR> s:=sUserID;<BR> e:=eUserID;<BR> i:=s;<BR> INSERT INTO FRAME_USER_ID (UserID,State,AgentID,CityID,OID)<BR> VALUES('111','111','111','571','111'); <BR> i:=i+1;<BR> <BR>end;
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:冯中华 回复日期:2003-07-14 08:51:49
<br>内容:你调用时报什么错啊?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:冯中华 回复日期:2003-07-14 09:01:45
<br>内容:是不是你的FRAME_USER_ID表中有约束?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Diversity 回复日期:2003-07-14 09:04:33
<br>内容:<BR><BR>在程序里说无效的SQL语句。<BR><BR>现在我重新做了一个。<BR>现有一个表叫TESTDB,里面有四个字段T1 ,T2, T3,T4。 类型是VARCHAR2的。<BR><BR>现在建了一个存储过程,以下是SQL脚本,编译的时候没报错。<BR><BR>CREATE OR REPLACE PROCEDURE "CKADMIN2"."TDB" (<BR>T1 IN OUT VARCHAR2,<BR>T2 IN OUT VARCHAR2,<BR>T3 IN OUT VARCHAR2,<BR>T4 IN OUT VARCHAR2,<BR>s IN OUT VARCHAR2,<BR>s1 IN OUT VARCHAR2,<BR>s2 IN OUT VARCHAR2,<BR>s3 IN OUT VARCHAR2)AS<BR>BEGIN<BR>s:=2;<BR>s1:=4;<BR>s2:=6;<BR>s3:=8;<BR>INSERT INTO TESTDB (T1,T2,T3,T4) VALUES(s,s1,s2,s3);<BR><BR>END;<BR><BR><BR><BR>但在PL/SQL里调用的时候报。<BR><BR><BR>SQL> exec "test";<BR>BEGIN "test"; END;<BR><BR> *<BR>ERROR 位于第 1 行:<BR>ORA-06550: 第 1 行, 第 7 列:<BR>PLS-00201: 必须说明标识符 'test'<BR>ORA-06550: 第 1 行, 第 7 列:<BR>PL/SQL: Statement ignored<BR><BR>PL /SQL 报错信息<BR><BR><BR>请问是怎末回事,谢谢。<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:冯中华 回复日期:2003-07-14 09:08:52
<br>内容:你写的存储过程名本来就不是test,但你调用的是test啊,老兄!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Diversity 回复日期:2003-07-14 09:14:00
<br>内容:<BR>SHIT 晕了!!!<BR><BR>那再帮我个忙,加while循环有什末注意的,有没有标准写法?谢谢。<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:投河自尽的鱼 回复日期:2003-07-14 14:34:14
<br>内容:WHILE(Condition) LOOP<BR> sequence_of_statements;<BR> EXIT WHEN(Condition); --可选(也可用if ...exit....end if)<BR>END LOOP;<BR>语法就是规范和标准,要注意的有且仅有不要违背语法规范!呵呵 ^-^
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:投河自尽的鱼 回复日期:2003-07-14 14:55:54
<br>内容:中华兄弟,留个QQ号好吗?谢谢
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Diversity 回复日期:2003-07-14 18:07:10
<br>内容:这样就好了,谢谢大家!!!<BR><BR>(p_T1 in testdb.t1%type,<BR>p_T2 in testdb.t2%type,<BR>p_T3 in testdb.t3%type,<BR>p_T4 in testdb.t4%type<BR>)AS<BR>BEGIN<BR><BR>INSERT INTO TESTDB (T1,T2,T3,T4) VALUES(p_T1,p_T2,p_T3,p_T4);<BR><BR>END;<BR><BR><BR>SQL> execute tdb('2','4','5','6');<BR><BR>PL/SQL 过程已成功完成。<BR><BR>SQL> commit;<BR><BR>提交完成。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Diversity 回复日期:2003-07-14 18:36:43
<br>内容:<BR><BR>谢谢 中华兄 投河自尽的鱼兄!!<BR><BR>我还有个小问题,s,e,i应该如何定义谢谢!!<BR><BR> (p_T1 in testdb.t1%type,<BR>p_T2 in testdb.t2%type,<BR>p_T3 in testdb.t3%type,<BR>p_T4 in testdb.t4%type,<BR>s in out testdb.t1%type,<BR>e in out testdb.t1%type,<BR>i in out testdb.t1%type<BR>)AS<BR>--s integer;<BR>--e integer;<BR>--i integer;<BR><BR>BEGIN<BR>s:= p_T1;<BR>e:= p_T4;<BR>i:= s;<BR><BR> WHILE(i<=e) LOOP<BR> INSERT INTO TESTDB (T1,T2,T3,T4) VALUES(p_T1,p_T2,p_T3,p_T4);<BR> i:=i+1;<BR> END LOOP;<BR>END;
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Diversity 回复日期:2003-07-14 19:28:31
<br>内容:搞定了。<BR>2003-7-14 19:34:50
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -