當前位置:首頁 » 存儲配置 » 存儲過程入參

存儲過程入參

發布時間: 2023-04-15 09:08:39

『壹』 sql server 中 一個要輸入參數和輸出參數的存儲過程。

1、創建存儲過程,包含入參、出參,返回入參除以的數據;

create or replace procere test_proc(in_num number, out_num out number)

as

begin

out_num := in_num/2;

end;

『貳』 執行存儲過程怎麼傳入參數

在Oracle中定義存儲過程的時候有定義傳入參數的個數和類型的。

createprocerepro_name(v_para1invarchar2,v_para2invarchar2)

調用的時候:

declare
v_para1varchar2(30):='parameter1';
v_para2varchar2(30):='parameter2';
begin
pro_name(v_para1,v_para2);
end;
/

『叄』 sql 存儲過程 怎麼傳入參數

執行帶參數的存儲過程的方法如下:
Exec sp_configure 'allow updates',1 --允許更新系統表。
exec dbo.User_ChangeObjectOwnerBatch 'OldOwner','dbo'
以上是兩個例子。
SQL Server中執行帶參數的存儲過程的方法是:
EXEC 存儲過程名字 '參數1','參數2',數值參數
EXEC 是一個關鍵字。
字元串參數使用單引號括起來,數值參數不需要使用單引號

『肆』 存儲過程中參和入參的標志分別是

in,out。in|out存儲過程具有入參和出參兩種參數選擇,in表示的是入參,out表示的是出參,衫罩在使用過程的時候,入參必須得有仔握對應的變數傳入,出參得或戚鬧有對應的變數接收。

『伍』 Oracle調用存儲過程多個入參可以不全部傳參么

不行,就算沒有對應的參數,也要傳一個空值,不然會調用不到方法。

『陸』 ORACLE中如何為存儲過程傳遞參數

第一種:只讀。參數是只讀的,不能修改,即調用時傳遞進來的是常量,或者變數(但變數不能在存儲過程中修改正薯)。通常select及DML類型的存儲過程傳遞的是in類型的參數。

第二種:只寫。忽略調用語句傳遞的任何參數,並在函數(過程)內部給這些參數賦值,因此是只寫的。(這種情況是在函數或過程內部給參數重新賦值,但重新賦值後的參舉御者數是無法被外部調用的(好像游標類型的參數除外))

CREATE OR REPLACE PROCEDURE "SCOTT"."SWAP" (firstValue out
number, secondValue out number) is
temp number;
begin
temp := firstValue;
firstValue := secondValue;
secondValue := temp;
end swap;

外部調用:

set serveroutput on;
declare
firstVal number;
secondVal number;
begin
firstVal := 10;
secondVal := 20;
scott.swap(firstVal,secondVal);
dbms_output.put_line('first is ' || firstVal);
dbms_output.put_line('second is ' || secondVal);
end;

無法在外部訪問到firstValue與secondValue的值。此時列印出的結果為:

first is
second is
第三種:讀或寫。這可以完全控制參數,讀取傳遞的參數的值。可以再函數(過程)內部修改參數的值,在退出函數(過程)後,這些參數被賦給在函數內部寫入的值,這樣就可以返回多個值。(即入口參數寫入值後,可以傳遞到函數(過程)的外部,供外部調用的時候使用)

ps:函數中的返回值為如下幾種:

char; varchar2; number; integer; date; boolean; table; record

SQL> CREATE OR REPLACE PROCEDURE HelloWorld2 (

2 p_user_name IN VARCHAR2,

3 p_out_val OUT VARCHAR2,

4 p_inout_val IN OUT VARCHAR2

5 ) AS

6 BEGIN

7 dbms_output.put_line('Hello ' || p_user_name || p_inout_val || '!');

8 p_out_val := 'A';

9 p_inout_val := 'B';

10 END HelloWorld2;

11 /

Procere created.

SQL> DECLARE

2 p_outval VARCHAR2(10);

3 p_inoutval VARCHAR2(10) := '~Hi~';

4 BEGIN

5 HelloWorld2('Edward', p_outval, p_inoutval);

6

7 dbms_output.put_line('p_outval=' || p_outval);

8 拆橡dbms_output.put_line('p_inoutval=' || p_inoutval);

9 END;

10 /

Hello Edward~Hi~!

p_outval=A

p_inoutval=B

PL/SQL procere successfully completed.

『柒』 cx_oracle調用存儲過程,入參為自定義對象

在cx_oracle 中定義一個參數比如 rec_data TBL_MY_OBJECT;

然後給予賦值 比如 rec_data.id =XXX;rec_data .DATA =XXX;
然後調用INIT_MY_TYPE(rec_data );即可。

『捌』 怎麼在java代碼中設置oracle存儲過程中的入參和出參

public String insertJCSP(Map parmaters) {
// TODO Auto-generated method stub
String str=null;
Connection conn = null;
CallableStatement csm = null;
conn = (Connection) sqlSession.getSqlSessionFactory().openSession()
.getConnection();
try {
csm = conn
.prepareCall("{Call pr_insert_JcInfo(?,?,?)}"); //調用存儲過程
csm.setString(1, (String) parmaters.get("lottId")); //第一個入參數
csm.setString(2, (String) parmaters.get("idata"));//第二個入參數
csm.registerOutParameter(3, java.sql.Types.VARCHAR);//返回參數
csm.execute();
str = csm.getString(3); //取得返回參數

熱點內容
php把數據插入資料庫 發布:2025-02-13 00:09:48 瀏覽:369
eclipse查看jar包源碼 發布:2025-02-12 23:59:35 瀏覽:973
電腦主機伺服器維修 發布:2025-02-12 23:59:26 瀏覽:302
sqlserver標識 發布:2025-02-12 23:51:33 瀏覽:463
安卓怎麼玩地牢獵人 發布:2025-02-12 23:50:25 瀏覽:944
思鄉腳本 發布:2025-02-12 23:43:32 瀏覽:440
java的job 發布:2025-02-12 23:38:43 瀏覽:893
我的世界伺服器授權指令 發布:2025-02-12 23:30:13 瀏覽:597
電腦伺服器號在哪裡找 發布:2025-02-12 23:22:29 瀏覽:13
linux查看系統是32位 發布:2025-02-12 23:17:29 瀏覽:990