簡體   English   中英

Oracle錯誤:無效的SQL語句錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM