網(wǎng)站首頁 編程語言 正文
創(chuàng)建SQL存儲過程需要使用到的語法
- 創(chuàng)建存儲過程
CREATE 存儲過程的名稱(參數(shù))
BEGIN
...需要執(zhí)行的SQL語句
END
- 調(diào)用
CALL 存儲過程的名稱(參數(shù))
個人看法,這就是一個函數(shù)...
無參數(shù)
CREATE PROCEDURE p_student_select()
BEGIN
SELECT * FROM student;
END
CALL p_student_select()
帶參
# out其實就是cpp里的引用變量,in就是值傳遞
CREATE PROCEDURE p_count(OUT count int)
BEGIN
SELECT COUNT(*) into count FROM student;
END
set @num = 10; # 定義變量
CALL p_count(@num); #我的數(shù)據(jù)有11條
SELECT @num as num; #這里的num已經(jīng)是11了
--這個就是一個調(diào)用參數(shù)的函數(shù)
CREATE PROCEDURE p_studnt_selectById(in id int)
BEGIN
SELECT * FROM student WHERE studentNo = id;
END
CALL p_studnt_selectById(4)
兩個參數(shù)
#兩個參數(shù)是一樣的用法
CREATE PROCEDURE p_result_test(out num int, in id int)
BEGIN
SELECT COUNT(*) INTO num FROM result WHERE studentNo = id;
END
set @num = 0;
CALL p_result_test(@num, 3);
SELECT @num as num
declare關(guān)鍵字的使用
# declare的作用是用來定義變量
CREATE PROCEDURE p5()
BEGIN
DECLARE studentName VARCHAR(10); #創(chuàng)建了一個變量
set @studentName = 'HELLO'; #給變量賦值
END
CALL p5();
SELECT @studentName
-- 說明了declare定義的變量可以在外部直接調(diào)用
IF語句
#if語句沒啥說的,代碼直接能看懂
CREATE PROCEDURE p6(in id int)
BEGIN
IF(id = 0) THEN
SELECT * FROM student;
ELSE
SELECT * FROM teacher;
END IF;
END
case語句
#看代碼...
CREATE PROCEDURE p7(in tab VARCHAR(10))
BEGIN
CASE tab
WHEN 'student' THEN
SELECT * FROM student;
WHEN 'teacher' THEN
SELECT * FROM teacher;
END CASE;
END
loop語句
CREATE PROCEDURE p9(IN id INT)
BEGIN
addloop: LOOP
set id = id + 1;
SELECT id;
IF id > 10 THEN
LEAVE addloop;
ELSE
SELECT * FROM student;
END IF;
END LOOP addloop;
END
repeat
CREATE PROCEDURE p10(in count int)
BEGIN
REPEAT
set count = count + 1;
SELECT count;
UNTIL count > 10 END REPEAT; #count >10跳出
END
while
CREATE PROCEDURE p11(in num int)
BEGIN
while num < 10 DO
SELECT num;
SET num = num + 1;
END WHILE;
END
原文鏈接:https://blog.csdn.net/ht_vIC/article/details/121372997
相關(guān)推薦
- 2022-05-29 C++掃盲篇之指針詳解_C 語言
- 2022-12-27 K8S集群范圍使用imagePullSecret示例詳解_云和虛擬化
- 2024-01-13 什么是B+樹?
- 2022-06-28 C#遞歸算法和排列算法_C#教程
- 2022-12-27 Python中賦值的含義及說明_python
- 2022-12-04 在python?list中篩選包含字符的字段方式_python
- 2023-04-08 React中useCallback?useMemo到底該怎么用_React
- 2022-06-29 python人工智能tensorflow函數(shù)np.random模塊使用_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支