定義存儲過程時有形參嗎
『壹』 執行存儲過程怎麼傳入參數
在Oracle中定義存儲過程的時候有定義傳入參數的個數和類型的。
sql">createprocerepro_name(v_para1invarchar2,v_para2invarchar2)
調用的時候:
declare
v_para1varchar2(30):='parameter1';
v_para2varchar2(30):='parameter2';
begin
pro_name(v_para1,v_para2);
end;
/
『貳』 定義函數時,必須要有形參 對嗎
可以
形參是指針數組
如:
main(int
argc,char*
argv)
argc是命令行參數個數,
假設argc是3
argv【0】是程序名
argv[1]是第一個參數的字元串
argv[2]是第二個參數的字元串
『叄』 存儲過程中定義參數的意義是什麼
存儲過程其實就是一個功能,定義參數就是為了這個調用者使用他所要的結果
舉個簡單例子:
手機是存儲過程(不變)
手機號碼卡是參數(可變)
換不同的號碼使用手機,功能可能不一樣,這個號碼是張三使用,那個號碼是李四使用。
這就是存儲過程中定義參數的意義。
『肆』 sql server存儲過程的參數有哪些類型
SQL Server存儲過程是SQL資料庫的重要組成部分,其中可以用到許多參數。在SQL Server存儲過程中,支持輸入(Input)、輸出參數(Output),也支持返回值參數(ReturnValue)。
返回值參數不是一個形參,而類似於編程中的返回值類型。它都是通過Return語句來返回的,而且在SQL Server中,必須返回INT型的數據,而且很顯然,只能有一個返回值,因為RETURN語句其實是會終止SQL Server存儲過程的。
例子:
ALTERPROCEDURE[dbo].[GetCustomers]
(@rowcountINTOUTPUT)
AS
SELECT[CustomerID]
,[CompanyName]
,[ContactName]
,[ContactTitle]
,[Address]
,[City]
,[Region]
,[PostalCode]
,[Country]
,[Phone]
,[Fax]
FROM[Northwind].[dbo].[Customers]
SET@rowcount=@@rowcount
『伍』 存儲過程不能有輸入參數
存儲過程中不能有參數。
存儲過程:1減少編譯次數,2簡化操作,3減少了變異次數減少了和資料庫的鏈接次數,提高效率 。存儲過程的方法:1刪除存儲過程: DROP PROCEDURE 存儲過程的名稱;2查看存儲過程信息:show create procere 存儲過程名稱;3沒有存儲過程的修改。
『陸』 存儲過程必須帶有參數嗎
可以不帶,帶參數的如果指定了默認值,執行時也可以不給參數
『柒』 存儲過程的參數類型哪幾種
存儲過程共有IN、OUT、INOUT三種參數類型,格式如下:CREATEPROCEDURE(IN|OUT|INOUT參數名數據類型...)存儲過程可以沒有參數,但如果在使用過程需要用到參數,需按上面的格式進行定義。
第一項:IN|OUT|INOUT,表示參數的類型,選擇其中的一種即可;第二項:參數名,表示參數的名稱;第三項:數據類型,表示這個參數的數據類型,如int、float、double、varcahr等;第四項:「…」,表示參數可以定義多個,如果有多個參數時按前三項的格式定義即可,每個參數間用英文狀態下的逗號「
『捌』 oracle存儲過程,為什麼創建的時候還要傳參數不是應該調用的時候傳嗎
你理解是對的,存儲過程在創建的時候是不需要輸入參數的,只有在調用的時候才需要傳遞參數。
首先,存儲過程中你定義參數的時候沒有指定輸入輸出,vsalary IN ,vsalary ,IN 或者OUT 輸出參數。
create or replace procere p_employee(vsalary IN number,vsalary2 IN number)
as.....
vsalary 和vsalary2即為變數名,在後面游標中直接使用變數名,不需要&vsalary 和&vsalary2。
按存儲過程規范來修改一下,,祝你成功。
『玖』 oracle 存儲過程為什麼要有參數啊
http://hi..com/wangqing999/blog/item/0991d3124070854420a4e9b4.html
Oracle 存儲過程 的例子代碼.
關於 參數 IN/OUT 參數默認值 指定特定參數的情況 , 都有相應的例子。