mysql中的儲存過程之無引數,in、out、inout引數的講解
首先建立三個測試表:
如下:
user表裡邊的欄位為userId,userName 使用者表
dept表裡邊的欄位為deptId,deptName部門表
other表裡邊的欄位為otherId,otherName 其他表
建立無引數儲存
create procedure 你建立的名稱()
begin
。。。。。。。。。
end;
如下:
一.建立語句
create procedure userCount()@1
begin
SELECT COUNT(userId) FROM USER;@2
end;@3
注意:
1. 在@2和@3處記得加分號,要不然在執行時,會報語法錯誤
2. 在@1處不論有無引數都需要加 (),
二、在資料庫中檢視你建立的儲存過程語句為
select * frommysql.proc where name = '你上邊建立的名稱'and `type` = 'PROCEDURE'
如下:
select * frommysql.proc where name = 'userCount' and `type` = 'PROCEDURE'
三、檢視儲存過程程式碼語句
show createprocedure 你上邊建立的名稱 如下:
show createprocedure userCount
四、呼叫建立好的儲存過程語句
call userCount ();
五、刪除儲存語句
DROP PROCEDURE你上邊建立的名稱
如下:
DROP PROCEDURE userCount
=====================================================================
一、建立IN引數儲存
語句如下:
CREATE procedure userName(in cType char)
begin
IF cType='U' THEN
SELECT * FROM USER ;
ELSEIF cType='D' THEN
SELECT * FROM dept ;
ELSE
SELECT * FROM other ;
END IF;
end;
呼叫語句如下:
1.CALL userName('A')
2.CALL userName('D')
3.CALL userName('E')
二、建立OUT引數儲存
CREATE PROCEDUREtestOut(OUT outResult char)
BEGIN
SELECT outResult; //查詢結果1
SET outResult='A';//設定值
SELECT outResult; //查詢結果2
END;
呼叫語句如下:
SET @outResult = 'W';
CALLtestOut(@outResult)
呼叫之後返回兩個值結果一和結果而結果1為null 結果2為A
二、建立INOUT引數儲存
CREATE PROCEDUREtestInOut(INOUT inOutResult char)
BEGIN
SELECT inOutResult;
SET inOutResult='A';
SELECT inOutResult;
END;
呼叫語句如下:
SET @inOutResult= 'W';
CALLtestInOut(@inOutResult)
呼叫之後返回兩個值結果一和結果而結果1為W 結果2為A
總結:
IN 輸入引數
表示該引數的值必須在呼叫儲存過程時指定,在儲存過程中修改該引數的值不能被返回,為預設值
OUT 輸出引數
該值可在儲存過程內部被改變,並可返回
INOUT 輸入輸出引數
呼叫時指定,並且可被改變和返回
相關推薦
mysql中的儲存過程之無引數,in、out、inout引數的講解
首先建立三個測試表: 如下: user表裡邊的欄位為userId,userName 使用者表 dept表裡邊的欄位為deptId,deptName部門表 other表裡邊的欄位為otherId,otherName 其他表 建立無引數儲存 create procedure 你
儲存過程之無引數,in、out、inout引數的講解
首先建立三個測試表: 如下: user表裡邊的欄位為userId,userName 使用者表 dept表裡邊的欄位為deptId,deptName部門表 other表裡邊的欄位為otherId,otherName 其他表 建立無引數儲存 create proced
mysql中儲存過程 解決引數作為表名
1.用變數做表名: 簡單的用set或者declare語句定義變數,然後直接作為sql的表名是不行的,mysql會把變數名當作表名。在其他的sql資料庫中也是如此,mssql的解決方法是將整條sql語句作為變數,其中穿插變數作為表名,然後用sp_executesql呼叫該語句。 這在mysql5.0之前是不
Mysql中儲存過程與自定義函式的區別
建立儲存過程: CREATE [definer = {user|current_user}] PROCEDURE sp_name ([ proc_parameter [,proc_parameter ...]]) [ characteristi
MySQL 中儲存過程 中文亂碼問號???
mysql 中文亂碼一直是一個老大難的問題,接下來一一解決!!!! 資料庫儲存資料亂碼 儲存過程中資料亂碼 001 資料庫儲存資料亂碼 相信大家遇到最多就是資料庫中儲存資料,操作完之後,資料庫中中文亂碼,變為????問號。
mysql儲存過程之引數(IN,OUT或INOUT)瞭解下
在現實應用中,開發的儲存過程幾乎都需要引數,就是這些引數,使得儲存過程更加靈活和有用。 在mysql中,引數有三種模式:IN,OUT或INOUT:IN - 是預設模式。在儲存過程中定義IN引數時
MySQL儲存過程中的3種迴圈,儲存過程的基本語法,ORACLE與MYSQL的儲存過程/函式的使用區別,退出儲存過程方法
學無止境 部落格園 首頁 新隨筆 聯絡 訂閱 管理 隨筆-1968 評論-103 文章-4&
儲存過程(無參,IN多個輸入引數,OUT多個輸出引數,INOUT輸入輸出)
儲存過程(無參,多個輸入引數,多個輸出引數) 儲存過程: 1、減少編譯次數 2、簡化操作 3、減少了變異次數減少了和資料庫的連結次數,提高效率 關於儲存過程的方法: 1、刪除儲存過程 DR
Sql Server中儲存過程中輸入和輸出引數(簡單例項,一看就懂)
-- ===================【建立儲存過程】===================== USE [Message] GO /****** Object: StoredProcedure [dbo].[讀取外部資料庫查詢] Script Date:
mysql在儲存過程中從結果集給多個引數賦值的辦法
DECLARE var1 DATETIME; DECLARE var2 DATETIME; SELECT t.f1, t.f2 into var1,var2 FROM tableName t ; SELECT class_id1, atten
mysql儲存過程中in、out、inout引數使用實際案例
1.引數in的使用(代表輸入,意思說你的引數要傳到存過過程的過程裡面去) //為了避免儲存過程中分號(";")結束語句,我們使用分隔符告訴mysql直譯器,該段命令是否已經結束了。 /** 案例功能
儲存過程無引數,in,out ,in out 的用法
select * from scott.emp where empno=7839 or empno=7566 sele
mysql建立儲存過程,模擬插入200萬用戶
公司需要建立模擬使用者測試大資料,百度建立儲存過程模擬插入資料下面是sql程式碼 CREATE PROCEDURE test() begin declare var int; declare a int; declare mobile bigint; SET var
Sql Server 2008中儲存過程傳入表值引數
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
MySQL儲存過程之while、repeat迴圈
一、while迴圈 CREATE DEFINER=`root`@`localhost` PROCEDURE `PRO_WHILE`() BEGIN DECLARE i INT DEFAULT 0; WHILE (i<10) DO /*當滿足條件的時候執行此程式碼塊*/ BE
Mysql的儲存過程,Mybatis對儲存過程的呼叫
mysql儲存過
MYSQL 使用儲存過程,結合遊標迴圈插入資料demo
建立遊標 CLOSE釋放遊標使用的所有內部記憶體和資源,因此在每個遊標不再需要時都應該關閉 CREATE PROCEDURE processdemo() BEGIN DECLARE product_i
mysql儲存過程之迴圈遍歷查詢結果集
-- 建立儲存過程之前需判斷該儲存過程是否已存在,若存在則刪除 DROP PROCEDURE IF EXISTS init_reportUrl; -- 建立儲存過程 CREATE PROCEDURE init_reportUrl() BEGIN -- 定義變數 DECLARE s int
MySQL使用儲存過程為資料庫中全部的表增加備用欄位
需求描述 要為資料庫裡的所有的表統一加上十六個備用欄位,前提是備用欄位名取表名前三位,拼接上備用1-16 , 16個欄位中,其中8個varchar, 4個int, 4個datetime 1.建立一個簡單的表 DROP TABLE customer_detail_info; C
MSSQL中儲存過程的可選引數的定義和使用_SQL高亮顯示
編輯日誌: 160508建立 160530優化新增:顯式傳參 160916SQL語句高亮顯示、格式優化 可選引數的存在,可以極大的降低程式碼的重複冗餘。在資料庫開發中,也是如此。現在針對MSSQL中儲存過程的可選引數的定義和使用進行基本的介紹,留作備忘。