檢測(cè)到您已登錄華為云國(guó)際站賬號(hào),為了您更好的體驗(yàn),建議您訪問(wèn)國(guó)際站服務(wù)網(wǎng)站 http://m.cqfng.cn/intl/zh-cn
不再顯示此消息
CONTAINS SQL |NO SQL |READS SQL DATA |MODIFIES SQL DATA }指明子程序使用SQL語(yǔ)句的限制:CONTAINS SQL表示當(dāng)前存儲(chǔ)過(guò)程的子程序包含SQL語(yǔ)句,但是并不包含讀寫(xiě)數(shù)據(jù)的SQL語(yǔ)句;NO SQL表示當(dāng)前存儲(chǔ)過(guò)程的子程序中不包含任何SQL語(yǔ)句;READS
IN:表示輸入?yún)?shù),即參數(shù)是在調(diào)用存儲(chǔ)過(guò)程時(shí)傳入到存儲(chǔ)過(guò)程里面使用,傳入的數(shù)據(jù)可以是直接數(shù)據(jù)(如5),也可以是保存數(shù)據(jù)的變量。 OUT:表示輸出參數(shù),初始值為NULL,它是將存儲(chǔ)過(guò)程中的值保存到OUT指定的參數(shù)中,返回給調(diào)用者。 IN OUT:表示輸入輸出參數(shù),
動(dòng)態(tài)調(diào)用存儲(chǔ)過(guò)程 動(dòng)態(tài)調(diào)用存儲(chǔ)過(guò)程必須使用匿名的語(yǔ)句塊將存儲(chǔ)過(guò)程或語(yǔ)句塊包在里面,使用EXECUTE IMMEDIATE…USING語(yǔ)句后面帶IN、OUT來(lái)輸入、輸出參數(shù)。 語(yǔ)法 語(yǔ)法請(qǐng)參見(jiàn)圖1。 圖1 call_procedure::= using_clause子句的語(yǔ)法參見(jiàn)圖2。
動(dòng)態(tài)調(diào)用存儲(chǔ)過(guò)程 動(dòng)態(tài)調(diào)用存儲(chǔ)過(guò)程必須使用匿名的語(yǔ)句塊將存儲(chǔ)過(guò)程或語(yǔ)句塊包在里面,使用EXECUTE IMMEDIATE…USING語(yǔ)句后面帶IN、OUT來(lái)輸入、輸出參數(shù)。 語(yǔ)法 語(yǔ)法請(qǐng)參見(jiàn)圖1。 圖1 call_procedure::= using_clause子句的語(yǔ)法參見(jiàn)圖2。
動(dòng)態(tài)調(diào)用存儲(chǔ)過(guò)程 動(dòng)態(tài)調(diào)用存儲(chǔ)過(guò)程必須使用匿名的語(yǔ)句塊將存儲(chǔ)過(guò)程或語(yǔ)句塊包在里面,使用EXECUTE IMMEDIATE…USING語(yǔ)句后面帶IN、OUT來(lái)輸入和輸出參數(shù)。 語(yǔ)法 語(yǔ)法請(qǐng)參見(jiàn)圖1。 圖1 call_procedure::= using_clause子句的語(yǔ)法參見(jiàn)圖2。
動(dòng)態(tài)調(diào)用存儲(chǔ)過(guò)程 動(dòng)態(tài)調(diào)用存儲(chǔ)過(guò)程必須使用匿名的語(yǔ)句塊將存儲(chǔ)過(guò)程或語(yǔ)句塊包在里面,使用EXECUTE IMMEDIATE…USING語(yǔ)句后面帶IN、OUT來(lái)輸入、輸出參數(shù)。 語(yǔ)法 語(yǔ)法請(qǐng)參見(jiàn)圖1。 圖1 call_procedure::= using_clause子句的語(yǔ)法參見(jiàn)圖2。
動(dòng)態(tài)調(diào)用存儲(chǔ)過(guò)程 動(dòng)態(tài)調(diào)用存儲(chǔ)過(guò)程必須使用匿名的語(yǔ)句塊將存儲(chǔ)過(guò)程或語(yǔ)句塊包在里面,使用EXECUTE IMMEDIATE…USING語(yǔ)句后面帶IN、OUT來(lái)輸入、輸出參數(shù)。 語(yǔ)法 語(yǔ)法請(qǐng)參見(jiàn)圖1。 圖1 call_procedure::= using_clause子句的語(yǔ)法參見(jiàn)圖2。
動(dòng)態(tài)調(diào)用存儲(chǔ)過(guò)程 動(dòng)態(tài)調(diào)用存儲(chǔ)過(guò)程必須使用匿名的語(yǔ)句塊將存儲(chǔ)過(guò)程或語(yǔ)句塊包在里面,使用EXECUTE IMMEDIATE…USING語(yǔ)句后面帶IN、OUT來(lái)輸入、輸出參數(shù)。 語(yǔ)法 語(yǔ)法請(qǐng)參見(jiàn)圖1。 圖1 call_procedure::= using_clause子句的語(yǔ)法參見(jiàn)圖2。
1.存儲(chǔ)過(guò)程存儲(chǔ)過(guò)程(Stored Procedure)是一組為了完成特定功能的SQL語(yǔ)句集,經(jīng)編譯后存儲(chǔ)在數(shù)據(jù)庫(kù)中,用戶通過(guò)指定存儲(chǔ)過(guò)程的名字并給定參數(shù)(如果該存儲(chǔ)過(guò)程帶有參數(shù))來(lái)調(diào)用執(zhí)行它。 2.MySQL存儲(chǔ)過(guò)程創(chuàng)建 1.語(yǔ)法#創(chuàng)建存儲(chǔ)過(guò)程CREATE PROCEDURE
CASE是另一個(gè)條件判斷的語(yǔ)句,類似于編程語(yǔ)言中的switch語(yǔ)法 -- 語(yǔ)法一(類比java的switch):case case_value when when_value then statement_list [when
g中存在占位符時(shí)使用,即動(dòng)態(tài)SQL語(yǔ)句執(zhí)行時(shí),bind_argument將替換相對(duì)應(yīng)的占位符。要注意的是,bind_argument只能是值、變量或表達(dá)式,不能是表名、列名、數(shù)據(jù)類型等數(shù)據(jù)庫(kù)對(duì)象。如果存儲(chǔ)過(guò)程需要通過(guò)聲明參數(shù)傳遞數(shù)據(jù)庫(kù)對(duì)象來(lái)構(gòu)造動(dòng)態(tài)SQL語(yǔ)句(常見(jiàn)于執(zhí)行DDL語(yǔ)句
728 2.2、查看過(guò)程 -- 查看所有存儲(chǔ)過(guò)程 show procedure status [like 'pattern']; -- 查看過(guò)程的創(chuàng)建語(yǔ)句 show create procedure 過(guò)程名字\G 12345 2.3、調(diào)用過(guò)程 過(guò)程沒(méi)有返回值 基本語(yǔ)法
什么是存儲(chǔ)過(guò)程? 特點(diǎn) 語(yǔ)法格式 局部變量 用戶變量 系統(tǒng)變量 查看修改全局變量 查看修改會(huì)話變量 傳入?yún)?shù) 輸出參數(shù) 修改傳入?yún)?shù)值 每文一語(yǔ) 什么是存儲(chǔ)過(guò)程? MySQL 5.0 版本開(kāi)始支持存儲(chǔ)過(guò)程。 簡(jiǎn)單的說(shuō),存儲(chǔ)過(guò)程就是一組SQL語(yǔ)句集,
2.2、查看過(guò)程 -- 查看所有存儲(chǔ)過(guò)程 show procedure status [like 'pattern']; -- 查看過(guò)程的創(chuàng)建語(yǔ)句 show create procedure 過(guò)程名字\G 2.3、調(diào)用過(guò)程 過(guò)程沒(méi)有返回值 基本語(yǔ)法 call 過(guò)程名([實(shí)參列表]);
backupflie.sql mysqldump -hlocalhost -uroot -ntd -R hqgr > hqgr.sql 其中的 -ntd 是表示導(dǎo)出存儲(chǔ)過(guò)程;-R是表示導(dǎo)出函數(shù)mysql常用導(dǎo)入數(shù)據(jù)的命令:1.mysql命令 mysql -hhostname
動(dòng)態(tài)調(diào)用存儲(chǔ)過(guò)程 動(dòng)態(tài)調(diào)用存儲(chǔ)過(guò)程必須使用匿名的語(yǔ)句塊將存儲(chǔ)過(guò)程或語(yǔ)句塊包在里面,使用EXECUTE IMMEDIATE…USING語(yǔ)句后面帶IN、OUT來(lái)輸入、輸出參數(shù)。 語(yǔ)法 語(yǔ)法請(qǐng)參見(jiàn)圖1。 圖1 call_procedure::= using_clause子句的語(yǔ)法參見(jiàn)圖2。
MySQL存儲(chǔ)過(guò)程可以用于分割字符串,下面就為您詳細(xì)介紹這種MySQL存儲(chǔ)過(guò)程的用法,供您參考學(xué)習(xí)之用。 現(xiàn)有一段字符串,如apple,banana,orange,pears,grape,要把它按照逗號(hào)(,)分割成: apple
動(dòng)態(tài)調(diào)用存儲(chǔ)過(guò)程 動(dòng)態(tài)調(diào)用存儲(chǔ)過(guò)程必須使用匿名的語(yǔ)句塊將存儲(chǔ)過(guò)程或語(yǔ)句塊包在里面,使用EXECUTE IMMEDIATE…USING語(yǔ)句后面帶IN、OUT來(lái)輸入、輸出參數(shù)。 語(yǔ)法 語(yǔ)法請(qǐng)參見(jiàn)圖1。 圖1 call_procedure::= using_clause子句的語(yǔ)法參見(jiàn)圖2。
/** * 執(zhí)行SQL * @param string $sql 查詢sql * @return array 執(zhí)行結(jié)果 */ public function execute($sql) { try
通過(guò)如下語(yǔ)句,使用user1授予其他賬號(hào)執(zhí)行存儲(chǔ)過(guò)程的權(quán)限。 其中user表示需要調(diào)用存儲(chǔ)過(guò)程的其他賬號(hào): GRANT EXECUTE ON db.* TO user; 如果需要通過(guò)Java調(diào)用存儲(chǔ)過(guò)程,則需要通過(guò)如下語(yǔ)句,使用user1授予其他賬號(hào)查詢mysql.proc表的權(quán)限。 授權(quán)語(yǔ)句可參考