線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1584
推到 Plurk!
推到 Facebook!

請問我的Stored Procedure哪裡出了問題

尚未結案
narcysion
一般會員


發表:54
回覆:18
積分:14
註冊:2003-03-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-16 14:09:02 IP:210.243.xxx.xxx 未訂閱
下面程式碼我在MS_SQL的Stored Procedure可以編譯也沒問題, 但我移到oracle的stored Procedure卻出現"所建立的程序含有編譯錯誤", CREATE PROCEDURE SP_SYS01GetNewID AS declare @NFC Integer declare @LoginCNT integer ,@UID varchar2(4) BEGIN if (Select Max(FlowCode) from SYS01) IS NULL select @NFC = 1 else select @NFC = Max(FlowCode) 1 from SYS01 END; 請問要如何改,oracle的Procedure才能接受。 在請教一下,我都是用文字編輯器來寫oracle的PL/SQL程式, 有什麼軟體,可以檢查我的PL/SQL語法有無錯誤。
pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-16 16:23:22 IP:218.163.xxx.xxx 未訂閱
錯了不要打我...MSSQL(T SQL),ORacle(PL/SQL)兩者差異頗大... 如果要編譯PL/SQL可用要錢的oracle developer或 有試用期的PL/SQL developer 建議用後者,很實用,幾乎是dba studio+PL/SQL IDE..去下載來玩玩吧     
create or replace procedure SP_SYS01GetNewID is
is
 NFC Integer;
 LoginCNT integer ;
 UID varchar2(4);
BEGIN
  if (Select Max(FlowCode) from SYS01) IS NULL then
    select 1 into  NFC from dual ;  
  else
    select  Max(FlowCode)   1  into NFC from SYS01;
  end if; 
  
end SP_SYS01GetNewID; 
永遠追不上技術更新的速度
------
星期一,二...無窮迴圈@@
narcysion
一般會員


發表:54
回覆:18
積分:14
註冊:2003-03-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-17 10:36:51 IP:61.222.xxx.xxx 未訂閱
我試過了你的方法,還是一樣出現了 警告:所建立的程序含有編譯錯誤 請問是哪裡出了問題。 還有請問一下,文中所寫到的 select 1 into NFC from dual ; 我是不是要Create一個名叫dual的table,放入NFC欄位才行呀~
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-10-17 16:37:35 IP:218.163.xxx.xxx 未訂閱
narcysion 你好 :    "dual" 是 Oracle 系統內建的 Table. Oracle 有 "select" 一定要有 "from", 所以當要取得 function 的 return value 時, 可用 dual table, 例如 : select sysdate from dual..    另外, 你的 Stored Procedure 應該可以不用那樣麻煩 : 
create or replace procedure SP_SYS01GetNewID
is
 NFC Integer;
 LoginCNT integer ;
 UID varchar2(4);
BEGIN
  Select nvl(Max(FlowCode),0) 1 into NFC from SYS01; 
end SP_SYS01GetNewID;
系統時間:2024-05-08 19:38:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!