MySQL裡面sql語句呼叫儲存過程,該如何寫

2022-02-27 19:22:45 字數 3440 閱讀 7622

1樓:大野瘦子

這樣:create procedure sp_add(a int, b int,out c int)

begin

set c=a+ b;

end;

呼叫過程:

call sp_add (1,2,@a);

select @a;

注意事項

儲存過程(stored procedure)是一組為了完成特定功能的sql語句集合,經編譯後儲存在伺服器端的資料庫中,利用儲存過程可以加速sql語句的執行。

儲存過程分為系統儲存過程和自定義儲存過程。

系統儲存過程在master資料庫中,但是在其他的資料庫中可以直接呼叫,並且在呼叫時不必在儲存過程前加上資料庫名,因為在建立一個新資料庫時,系統儲存過程在新的資料庫中會自動建立。

自定義儲存過程,由使用者建立並能完成某一特定功能的儲存過程,儲存過程既可以有引數又有返回值,但是它與函式不同,儲存過程的返回值只是指明執行是否成功,並不能像函式那樣被直接呼叫,只能利用execute來執行儲存過程。

建立儲存過程

sql server建立儲存過程:

create procedure  過程名

@parameter       引數型別

@parameter      引數型別

as begin

end執行儲存過程:execute 過程名

2樓:匿名使用者

mysql教程4 mysql8運算子、函式、儲存過程及新增資料型別 17.之建立帶有in和out引數的儲存過程 學習猿地

3樓:我tm不管

call sp_add();

是不是你定義的過程有問題吧,並沒有指出返回結果來像我這樣是可以的:

create procedure sp_add(a int, b int,out c int)

begin

set c=a+ b;

end;

呼叫過程:

call sp_add (1,2,@a);

select @a;

4樓:匿名使用者

就是call sp_add().但如果你要返回值應該用function。 procedure沒有返回值的。

5樓:匿名使用者

沒()的,要有結果顯示的新增out引數

比如sp_add(out int @p)

6樓:匿名使用者

exec sp_add()

???不是非常瞭解.

sql儲存過程如何呼叫儲存過程?

7樓:海里的月光

1、首先先建立一個儲存過程,**如圖,儲存過程主要的功能是為表jingyan插入新的資料。

2、執行這幾行**,看到執行成功,資料庫裡現在已經有儲存過程sp_jy。

3、先看下jingyan表裡目前的陣列,如圖,只有三行資料。

4、在mysql裡,呼叫儲存過程,只需要用call關鍵字,帶上儲存過程的名稱就行了,當然有引數時,需要帶個引數。**如圖

5、執行了這個儲存過程的呼叫之後,再看下jingyan表裡的資料,可以看到現在的資料已經是四條了,說明呼叫儲存過程成功插入了一條新的資料。

6、再新增一個儲存過程,該儲存過程用select語句,返回表資料。

7、呼叫新的儲存過程,可以看到結果裡也是返回表資料。

8樓:職場云云老師

在儲存過程裡用exec 執行另一儲存過程名及它需要的引數就可以了

如 exec abc '1', '2'(abc 是儲存過程的名字, '1','2' 是它的引數

9樓:匿名使用者

首先啟用 開啟伺服器的輸出顯示:set serveroutput on;

然後呼叫 :execut 過程名 (你要呼叫的變數)

10樓:匿名使用者

就像方法呼叫方法一樣。

11樓:匿名使用者

exec [dbo].[proc_vip]

呼叫儲存過程sql 語句怎麼寫

在mysql資料庫 用sql語句怎麼寫儲存過程

12樓:匿名使用者

delimiter $$

create procedure proc_login()begin

insert into login_history(ip,userid,logintype,logintime) select ip,userid,logintype,logintime from log_login;

delete from log_login;

end$$

delimiter ;

有問題再追問吧,望採納。

mysql 儲存過程中怎麼執行sql語句???

13樓:匿名使用者

set @update_stmt='' /*在單引號中間填入要執行的sql語句*/

prepare stmt from @update_stmt;

execute stmt;

deallocate prepare stmt;

請問mysql儲存過程中多個動態sql語句該怎麼寫,第二個動態語句要用第一個動態語句的值 該怎麼呼叫?

14樓:小新

同樣的方法 排列下來,主要是前面的動態語句你最好把執行結果放入到一個表裡面 類似insert select的方法 然後把set a:=select s from xx; 這樣 你就可以取到上個值啦 然後你再去用就沒有問題啦 一步一除錯 方便容易找到錯誤的點

15樓:匿名_熱心網友

declare @d1 datetime

set @d1 = '2009-12-31'

select dateadd(year,-1,@d1) as 上一年同一天的日期

16樓:匿名使用者

給你個參考,試試吧

set @sql_1 = " select * from .......limit ? ";

prepare stmt from @sql_1;

execute stmt using @step; ##你傳遞的引數,多個引數一塊加上

deallocate prepare stmt;

commit;

mysql怎麼用sql語句建立儲存過程

17樓:匿名使用者

mysql教程4 mysql8運算子、函式、儲存過程及新增資料型別 17.之建立帶有in和out引數的儲存過程 學習猿地

關於mysql中一條sql語句,mysql 只用一條sql語句,如何查出一個表裡,不同條件對應的資料條數

如果兩個表結構一樣可以用union連起來 select from table1 limit 5union all select from table2 limit 10 create table a code varchar 8 create table b code varchar 8 inser...

mysql刪除兩天前的所有資料SQL語句怎麼寫

delete from 表 where datediff curdate 日期欄位 2請在測試系統上測試後,再放入生產環境執行,如有疑問,及時溝通 mysql中刪除表中所有資料的sql語句怎麼寫 使用truncate語句就可以刪除表中所有資料。truncate 語句的簡單說明 一般情況下,刪除資料大...

請問C如何呼叫SQL語句,C 中連線到資料庫後怎麼執行Sql語句?

如樓上所說,先看書學習吧。一時半會兒也白話不完啊。請問c 如何呼叫sql語句 public static string connectionstring data source initial catalog persist security info true user id password 資...