檢測(cè)到您已登錄華為云國(guó)際站賬號(hào),為了您更好的體驗(yàn),建議您訪問國(guó)際站服務(wù)網(wǎng)站 http://www.cqfng.cn/intl/zh-cn
不再顯示此消息
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ǔ)過程需要通過聲明參數(shù)傳遞數(shù)據(jù)庫(kù)對(duì)象來構(gòu)造動(dòng)態(tài)SQL語(yǔ)句(常見于執(zhí)行DDL語(yǔ)句
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ǔ)過程需要通過聲明參數(shù)傳遞數(shù)據(jù)庫(kù)對(duì)象來構(gòu)造動(dòng)態(tài)SQL語(yǔ)句(常見于執(zhí)行DDL語(yǔ)句
MongoDB存儲(chǔ)過程 在傳統(tǒng)的SQL數(shù)據(jù)庫(kù)中,存儲(chǔ)過程是一個(gè)預(yù)編譯的SQL語(yǔ)句集合,可以作為一個(gè)單元被調(diào)用。它們提高了數(shù)據(jù)訪問的速度和安全性,減少了網(wǎng)絡(luò)流量,并且可以執(zhí)行復(fù)雜的業(yè)務(wù)邏輯。然而,MongoDB作為一個(gè)NoSQL數(shù)據(jù)庫(kù),其設(shè)計(jì)理念與傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)有所不同,因此M
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ǔ)過程需要通過聲明參數(shù)傳遞數(shù)據(jù)庫(kù)對(duì)象來構(gòu)造動(dòng)態(tài)SQL語(yǔ)句(常見于執(zhí)行DDL語(yǔ)句
存儲(chǔ)過程最佳實(shí)踐(分布式) 商業(yè)規(guī)則和業(yè)務(wù)邏輯可以通過程序存儲(chǔ)在GaussDB中,這個(gè)程序就是存儲(chǔ)過程。 存儲(chǔ)過程是SQL、PL/SQL和Java語(yǔ)句的組合。存儲(chǔ)過程使執(zhí)行商業(yè)規(guī)則的代碼可以從應(yīng)用程序中移動(dòng)到數(shù)據(jù)庫(kù)。從而,代碼存儲(chǔ)一次能夠被多個(gè)程序使用。 存儲(chǔ)過程的基本使用方法請(qǐng)參見《開發(fā)指南》中“存儲(chǔ)過程”章節(jié)。
存儲(chǔ)過程最佳實(shí)踐(集中式) 商業(yè)規(guī)則和業(yè)務(wù)邏輯可以通過程序存儲(chǔ)在GaussDB中,這個(gè)程序就是存儲(chǔ)過程。 存儲(chǔ)過程是SQL和PL/SQL的組合。存儲(chǔ)過程使執(zhí)行商業(yè)規(guī)則的代碼可以從應(yīng)用程序中移動(dòng)到數(shù)據(jù)庫(kù)。從而,代碼存儲(chǔ)一次能夠被多個(gè)程序使用。 存儲(chǔ)過程的基本使用方法請(qǐng)參見《開發(fā)指南》中“存儲(chǔ)過程”章節(jié)。
存儲(chǔ)過程(Procedure) 簡(jiǎn)介 存儲(chǔ)過程是預(yù)編譯并存儲(chǔ)在數(shù)據(jù)庫(kù)中的程序,由一組SQL語(yǔ)句組成,用于執(zhí)行一系列數(shù)據(jù)庫(kù)操作。存儲(chǔ)過程可以被多個(gè)應(yīng)用程序調(diào)用,從而提高代碼的復(fù)用性和維護(hù)性。 存儲(chǔ)過程的特點(diǎn): 復(fù)雜數(shù)據(jù)操作簡(jiǎn)化:執(zhí)行需要多步操作的復(fù)雜業(yè)務(wù)邏輯,如批量數(shù)據(jù)處理、數(shù)據(jù)轉(zhuǎn)換等。
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ǔ)過程需要通過聲明參數(shù)傳遞數(shù)據(jù)庫(kù)對(duì)象來構(gòu)造動(dòng)態(tài)SQL語(yǔ)句(常見于執(zhí)行DDL語(yǔ)句
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ǔ)過程需要通過聲明參數(shù)傳遞數(shù)據(jù)庫(kù)對(duì)象來構(gòu)造動(dòng)態(tài)SQL語(yǔ)句(常見于執(zhí)行DDL語(yǔ)句
·{CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA}:存儲(chǔ)過程中的子程序使用SQL語(yǔ)句的約束限制。其中,CONTAINS SQL表示當(dāng)前存儲(chǔ)過程的子程序包含SQL語(yǔ)句,但是并不包含讀寫數(shù)據(jù)的SQL語(yǔ)句;NO SQL表示當(dāng)前存
首先需要了解存儲(chǔ)過程是什么?如何在PL/SQL中執(zhí)行?存儲(chǔ)過程、函數(shù)、包之間的關(guān)系是怎樣的? 有關(guān)存儲(chǔ)過程的學(xué)習(xí),請(qǐng)參考博文《ORACLE進(jìn)階(七)存儲(chǔ)過程詳解》。 下面結(jié)合實(shí)際應(yīng)用場(chǎng)景,講解下存儲(chǔ)過程的具體應(yīng)用。 需求 利用存儲(chǔ)過程實(shí)現(xiàn):從CD
存儲(chǔ)過程(Procedure) 簡(jiǎn)介 存儲(chǔ)過程是預(yù)編譯并存儲(chǔ)在數(shù)據(jù)庫(kù)中的程序,由一組SQL語(yǔ)句組成,用于執(zhí)行一系列數(shù)據(jù)庫(kù)操作。存儲(chǔ)過程可以被多個(gè)應(yīng)用程序調(diào)用,從而提高代碼的復(fù)用性和維護(hù)性。 存儲(chǔ)過程的特點(diǎn): 復(fù)雜數(shù)據(jù)操作簡(jiǎn)化:執(zhí)行需要多步操作的復(fù)雜業(yè)務(wù)邏輯,如批量數(shù)據(jù)處理、數(shù)據(jù)轉(zhuǎn)換等。
其他 DDL 復(fù)雜依賴 IMMUTABLE和SHIPPABLE 父主題: 存儲(chǔ)過程最佳實(shí)踐(分布式)
選擇需要登錄的目標(biāo)數(shù)據(jù)庫(kù)實(shí)例,單擊操作列表中的“登錄”,登錄目標(biāo)數(shù)據(jù)庫(kù)實(shí)例。 在頂部導(dǎo)航欄選擇“庫(kù)管理”。 在頁(yè)面上方“當(dāng)前所在庫(kù)”右側(cè)單擊“切換庫(kù)”,切換目標(biāo)數(shù)據(jù)庫(kù)。 圖1 切換目標(biāo)數(shù)據(jù)庫(kù) 在對(duì)象列表頁(yè)簽下選擇“存儲(chǔ)過程”,在操作欄中選擇“查看存儲(chǔ)過程詳情”。 圖2 查看存儲(chǔ)過程詳情 在執(zhí)行存儲(chǔ)過程彈窗中,查看該存儲(chǔ)過程信息。
bind_argument只能是值、變量或表達(dá)式,不能是表名、列名、數(shù)據(jù)類型等數(shù)據(jù)庫(kù)對(duì)象,即不支持使用bind_argument為動(dòng)態(tài)SQL語(yǔ)句傳遞模式對(duì)象。如果存儲(chǔ)過程需要通過聲明參數(shù)傳遞數(shù)據(jù)庫(kù)對(duì)象來構(gòu)造動(dòng)態(tài)SQL語(yǔ)句(常見于執(zhí)行DDL語(yǔ)句時(shí)),建議采用連接運(yùn)算符“||”拼接dynamic_select_clause;
方公式中 [] 括號(hào)是可選項(xiàng),表示可用可不用;1.[DISTINCT]:對(duì)拼接的參數(shù)支持去重功能;2.[Order by]:拼接的參數(shù)支持排序功能;3.[Separator]:這個(gè)你很熟悉了,支持自定義'分隔符',如不設(shè)置默認(rèn)為無分隔符;mysql> select * from `LOL`;
存儲(chǔ)過程是一組預(yù)先編寫好的 SQL 語(yǔ)句集合,存儲(chǔ)在數(shù)據(jù)庫(kù)中,可以通過調(diào)用存儲(chǔ)過程來執(zhí)行一系列操作。存儲(chǔ)過程能夠簡(jiǎn)化復(fù)雜的數(shù)據(jù)庫(kù)操作,減少代碼重復(fù),提高效率。此外,存儲(chǔ)過程運(yùn)行在數(shù)據(jù)庫(kù)服務(wù)器端,這意味著可以減少客戶端和服務(wù)器之間的通信開銷,提高執(zhí)行效率。 存儲(chǔ)過程的特點(diǎn)包括: 封裝性
bind_argument只能是值、變量或表達(dá)式,不能是表名、列名、數(shù)據(jù)類型等數(shù)據(jù)庫(kù)對(duì)象,即不支持使用bind_argument為動(dòng)態(tài)SQL語(yǔ)句傳遞模式對(duì)象。如果存儲(chǔ)過程需要通過聲明參數(shù)傳遞數(shù)據(jù)庫(kù)對(duì)象來構(gòu)造動(dòng)態(tài)SQL語(yǔ)句(常見于執(zhí)行DDL語(yǔ)句時(shí)),建議采用連接運(yùn)算符“||”拼接dynamic_select_clause;
調(diào)用存儲(chǔ)過程時(shí),僅支持綁定參數(shù)直接作為出入?yún)ⅲ恢С?span id="a2iyy0s" class='cur'>表達(dá)式形式(如“1+:va”)作為出入?yún)?,并且占位?span id="kguuk0o" class='cur'>名不能使用帶引號(hào)的數(shù)字、字符或字符串。 綁定入?yún)㈩愋蜑閞efcursor時(shí),存儲(chǔ)過程內(nèi)的修改與入?yún)⑾嗷ジ綦x。 打開dynamic_sql_check參數(shù)時(shí),占位符個(gè)數(shù)與參數(shù)個(gè)數(shù)一
OCEDURE時(shí),綁定出參。 僅支持匿名塊中調(diào)用SQL語(yǔ)句以及帶有out/inout參數(shù)的存儲(chǔ)過程綁定參數(shù),其余綁定參數(shù)場(chǎng)景皆不支持。例如:匿名塊中使用表達(dá)式以及cursor等、匿名塊中嵌套調(diào)用動(dòng)態(tài)語(yǔ)句。 打開dynamic_sql_check參數(shù)時(shí),占位符個(gè)數(shù)與參數(shù)個(gè)數(shù)一致時(shí)使