[英]Oracle ERROR : INVALID SQL STATEMENT ERROR
我做了一個存儲過程,但是我無法執行該存儲過程,我不知道問題出在哪里。
源代碼:
Create or replace procedure land_naam(klantnummer_input in VARCHAR2
, verzendland_output out VARCHAR2)
AS
BEGIN
SELECT land into verzendland_output from klanten
WHERE klantnummer = klantnummer_input;
END land_naam;
首先,我創建過程沒有任何錯誤。
然后,如果我想執行它,則運行代碼
Execute land_naam;
之后,我得到錯誤:
ORA-00900:無效的SQL語句
修改您的代碼,如下所示:
Create or replace procedure land_naam(klantnummer_input in VARCHAR2)
AS
verzendland_output VARCHAR2(2000);
BEGIN
SELECT land into verzendland_output from klanten
WHERE klantnummer = klantnummer_input;
END land_naam;
執行該過程時,由於您有輸入參數,請提供一個。
e.g. EXECUTE land_naam('S');
由於過程同時指定了輸入和輸出參數,因此在調用過程時必須指定這些參數:
在SQLPlus中聲明一個將保存輸出的變量,簡單易用
SQL> var out varchar2(100)
然后使用輸入和輸出參數調用存儲過程(否則,您沒有指定正確數量的參數)
SQL> exec land_naam('yourinput', :out)
最后,輸出輸出變量的內容
SQL> print out
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.