mysql存儲過程輸出
out返回只能是確定的某種類型的一個值,例如VARCHAR或者INT等等,你想返回多條記錄的話只需要在最後加上一個或者多個SELECT語句就行了啊,然後在外面用ResultSet對象接住就行了。
『貳』 mysql存儲過程中,列印語句是什麼
Mysql存儲過程中沒有列印語句,可以用select 來代替,比如:
select @var;
『叄』 如何創建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存儲過程輸出參數
mysql存儲過程的參數用在存儲過程的定義,共有三種參數類型,IN,OUT,INOUT
『伍』 mysql存儲過程中執行execute如何將結果存到輸出變數中
select test into test from table_test;
『陸』 mysql資料庫中的存儲過程如何輸出結果集啊
在資料庫中設計表時設計一個主鍵,在java中運用框架技術,通過List介面和ArrayList類來存儲,
通過載入資料庫驅動,連接資料庫,返回結果集,並通過方法調用
『柒』 MYSQL存儲過程的輸出參數可以是游標嗎
你是用ado連接資料庫的吧,我在VC下也同樣出現這樣的問題,使用游標的時候獲取不到輸出值,且還會導致連接中斷。估計是mysql存儲過程還不夠完善,在oracle使用就沒有任何問題。 你可以用Mysql Api直接連接mysql,應該沒有這樣的問題.
『捌』 MySQL存儲過程能不能輸出文件
如果資料庫中有一種類型是binary,如果原先保存文件到這個類型里的,可以保存輸出文件。
『玖』 MySQL的存儲過程,怎麼沒法輸出結果
mysql中要獲得存儲過程的返回值,可以增加一個out參數,用來返回。
mysql中存儲過程的例子:
CREATE PROCEDURE addvoucher (
IN userid INT,
IN voucherid INT,
OUT result INT
)