當前位置:首頁 » 存儲配置 » mysql帶參的存儲過程

mysql帶參的存儲過程

發布時間: 2023-01-14 18:27:31

① mysql 存儲過程帶參數的 我在調用這個存儲過程的時候可以不傳參數嗎

不能不傳,mysql 好像 不支持默認參數
你可以 給他只傳遞 ""值 或null

② mysql帶參數存儲過程

CREATE DEFINER= XXXX @ % PROCEDURE PRO_proct_pass_rate (IN start_date date, #統計開始日期
IN end_date date, #統計結束日期
IN proct_id VARCHAR(3000), #產品ID,多個用「,」分隔
IN show_type VARCHAR(2), #顯示模式 1:按時間段只顯示1筆通過率 2:跨月時間段按月顯示通過率
OUT result_status VARCHAR(30), #返回處理狀態
OUT result_info VARCHAR(100) #返回處理信息
)
BEGIN
DECLARE v_cnt1 INT;
DECLARE v_cnt2 INT;
DECLARE pid_list VARCHAR(3000);

END IF;
END

③ mysql 怎麼執行帶有參數的存儲過程

直接用call調用存儲過程,如:call getUserInfo(參數1,參數2...);

④ 在MySQL中如何創建一個帶輸出參數為一個表類型的存儲過程

在MySQL中如何創建一個帶輸出參數為一個表類型的存儲過程
首先需要知道「另一個存儲過程」的結果集的所有列的類型。
假設「另一個存儲過程」的名字是sp1,沒有參數,返回的結果集共3列,全部為int型,那麼「存儲過程」里添加一個與結果集列數相同的臨時表或表變數用於接收「另一個存儲過程」的結果集
如下
CREATE PROCEDURE sp2
AS
DECLARE @t table(a int,b int,c int)

INSERT INTO @t(a,b,c)
EXEC sp1

SELECT * FROM @t
使用SQLSERVER存儲過程可以很大的提高程序運行速度,簡化編程維護難度,現已得到廣泛應用。
創建存儲過程
和數據表一樣,在使用之前需要創建存儲過程,它的簡明語法是:

引用:
Create PROC 存儲過程名稱
[參數列表(多個以「,」分隔)]
AS
SQL 語句

例:

引用:
Create PROC upGetUserName
@intUserId INT,
@ostrUserName NVARCHAR(20) OUTPUT -- 要輸出的參數
AS
BEGIN
-- 將uName的值賦給 @ostrUserName 變數,即要輸出的參數
Select @ostrUserName=uName FROM uUser Where uId=@intUserId
END

其中 Create PROC 語句(完整語句為Create PROCEDURE)的意思就是告訴SQL SERVER,現在需要建立一個存儲過程,upGetUserName 就是存儲過程名稱,@intUserId 和 @ostrUserName 分別是該存儲過程的兩個參數,注意,在SQL SERVER中,所有用戶定義的變數都以「@」開頭,OUTPUT關鍵字表示這個參數是用來輸出的,AS之後就是存儲過程內容了。只要將以上代碼在「查詢分析器」里執行一次,SQL SERVER就會在當前資料庫中創建一個名為「upGetUserName」的存儲過程。你可以打開「企業管理器」,選擇當前操作的資料庫,然後在左邊的樹型列表中選擇「存儲過程」,此時就可以在右邊的列表中看到你剛剛創建的存儲過程了(如果沒有,刷新一下即可)。
二、存儲過程的調用

之前已經創建了一個名為「upGetUserName」的存儲過程,從字面理解該存儲過程的功能是用來取得某一個用戶的名稱。存儲過程建立好了,接下來就是要在應用程序里調用了,下面看一下在ASP程序里的調用。

⑤ mysql的存儲過程帶參數的怎麼寫

以下代碼運行通過:

delimiter$$;
createprocerelucia_proc16(countint)
begin
DECLAREname_procVARCHAR(20)CHARACTERSETutf8;
DECLAREsex_procVARCHAR(4)CHARACTERSETutf8;
DECLAREage_procINT(10);
DECLAREclass_procVARCHAR(20)CHARACTERSETutf8;
DECLAREAddr_procVARCHAR(50)CHARACTERSETutf8;
DECLAREiINT;
seti=1;
setsex_proc='女';
setage_proc=20;
setclass_proc='山治班';
setAddr_proc='北京市朝陽區';
whilei<countdo
setname_proc=CONCAT('露西亞',i);
insertintostudents(Name,Sex,age,class,Addr)values(name_proc,sex_proc,age_proc,class_proc,Addr_proc);
seti=i+1;
endwhile;
end
$$;
delimiter;
calllucia_proc16(500);

運行效果:

⑥ mysql 存儲過程

1. exec 存儲過程名
2. exec 存儲過程名 參數1,參數2,參數3......
或者exec 存儲過程名 參數1='',參數2='',參數3=''......

⑦ mysql帶參數的存儲過程怎麼調用

調用MySQL存儲過程使用CALL命令
語法:CALL 存儲過程名(參數1[,參數2..]]);
例如:
Call myPro1;
Call myPro2('001');

⑧ Navicat for MySQL如何創建帶參數的存儲過程

你打開"new
query",然後直接在新的窗口裡編寫就可以了,給你個示例:
create
procere
p_test
(
in
i_num
int,
in
i_name
varchar(50),
out
o_result
varchar(100)
)
begin
select
i_num
as
'輸入參數1',
i_name
as
'輸入參數2';
set
o_result
=
'輸入參數結果為:';
end;

熱點內容
三星資料庫 發布:2025-07-22 12:59:29 瀏覽:549
php在字元串後 發布:2025-07-22 12:52:58 瀏覽:909
砸蛋源碼 發布:2025-07-22 12:43:51 瀏覽:562
文件保存網盤自己會解壓嗎 發布:2025-07-22 12:37:56 瀏覽:100
多大孩子適合學編程 發布:2025-07-22 12:24:05 瀏覽:89
代理伺服器佔ip 發布:2025-07-22 12:24:01 瀏覽:579
java全局變數 發布:2025-07-22 12:19:14 瀏覽:152
osgi源碼 發布:2025-07-22 12:12:38 瀏覽:29
yarphp 發布:2025-07-22 12:04:32 瀏覽:265
暗區突圍輔助腳本 發布:2025-07-22 12:04:29 瀏覽:760