SQL 存儲過程觸發器

單個SQL語句 實現不了復雜的實際應用,需要一組SQL語句來實現,創建函數,以方便應用。

存儲過程?

? ? ? ??可編程的函數,完成特定功能編寫的SQL語句&控制語句的預編譯的集合,再次調用時不再編譯。

? ? ? ? 優點:

  • 允許標準組件式編程
  • 較快的執行速度? (預編譯)
  • 減少網絡流量
  • 安全

存儲過程的創建

? ? ? ??

create procedure 存儲過程名 ([參數列表[,...]])
過程體;/*參數列表 由 輸入輸出類型,參數名,參數類型 組成.[in|out|inout]  參數名 類型
*/

e.g.

delimiter $$
create procedure proc_stucent(out cnt int)
beginset cnt =(select count(*) from student);
end $$delimiter ;call proc_stucnt(@nu);

查看所有的存儲過程

select * from information_schema.routines
[where routine_name = '名稱'];

修改存儲過程

alter procedure sp_name [characteristic ..]characteristic"
{contains SQL | no  SQL | reads SQL data| modifies SQL data}
--alter 只能需改存儲過程的特性,不能修改存儲過程定義的內容--e.g.
alter proc1 modifies sql data sql security invoker;

刪除存儲過程

drop  procedure [if exist] 函數名;

函數只能返回一個 返回值or表對象

存儲過程 可以返回參數 如,記錄集?

delimiter $$
create procedure register(username varchar(20), userpwd varchar(20))
beginif exists( select * from user where uname = username) thenselect 'existed';else insert into user(uname,upwd) values(username ,userpwd);end if;
end $$delimiter ;call register('admin','123456');

e.g. 注冊過程? 用戶名不能重復

e.g. 修改密碼

delimiter $$
create procedure register(name varchar(20), oldupwd varchar(20),newpwd varchar(20))
beginif (select count(*) from user where upwd = oldpwd) then select '不是你';else update user set upwd=newpwdwhere uname = username;end if;
end $$delimiter ;call register('admin','123456');

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/215189.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/215189.shtml
英文地址,請注明出處:http://en.pswp.cn/news/215189.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

軟件開發經常出現的bug原因有哪些

軟件開發中出現bug的原因是多方面的,這些原因可能涉及到開發流程、人為因素、設計問題以及其他一系列因素。以下是一些常見的導致bug的原因: 1. 錯誤的需求分析: 不正確、不完整或者模糊的需求分析可能導致開發人員誤解客戶的需求&#xff0…

AICore 帶來了 Android 專屬的 AI 能力,它要解決什么?采用什么架構思路?

前言 Google 最近發布的 Gemini 模型在全球引起了巨大反響,其在多模態領域的 Video demo 無比震撼。對于 Android 開發者而言,其中最振奮人心的消息莫過于 Gemini Nano 模型將內置到 Android 系統當中,并開放給開發者使用。 事實上&#xf…

IDEA 2023.3 start failed 啟動失敗修復

發現是 RestfulToolkit 插件有沖突導致的,刪除插件后成功啟動 open ~/Library/Application\ Support/JetBrains/IntelliJIdea2023.3/plugins參考:https://youtrack.jetbrains.com/issue/IDEA-340080/Critical-startup-error-after-upgrading-to-Intelli…

無人零售柜:快捷舒適購物體驗

無人零售柜:快捷舒適購物體驗 通過無人零售柜和人工智能技術,消費者在購物過程中可以自由選擇商品,根據個人需求和喜好查詢商品清單。這種自主選擇的購物環境能夠為消費者提供更加舒適和滿意的體驗。此外,無人零售柜還具有節約時間…

LabVIEW使用單板RIO開發遠程監控電源信號

LabVIEW使用單板RIO開發遠程監控電源信號 設計和構建用于智能電網的本地功耗分析系統,主要服務于領先的電力監控設備設計者和制造商。隨著智能電網投資的增加,對于能夠有效處理替代電源(如太陽能和風能)間歇性功率水平的技術需求…

【EMNLP 2023】面向垂直領域的知識預訓練語言模型

近日,阿里云人工智能平臺PAI與華東師范大學數據科學與工程學院合作在自然語言處理頂級會議EMNLP2023上發表基于雙曲空間和對比學習的垂直領域預訓練語言模型。通過比較垂直領域和開放領域知識圖譜數據結構的不同特性,發現在垂直領域的圖譜結構具有全局稀…

【開源】基于Vue+SpringBoot的教學資源共享平臺

文末獲取源碼,項目編號: S 068 。 \color{red}{文末獲取源碼,項目編號:S068。} 文末獲取源碼,項目編號:S068。 目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、功能模塊2.1 數據中心模塊2.2 課程檔案模塊2.3 課…

虹科Pico汽車示波器 | 汽車免拆檢修 | 2019款別克GL8豪華商務車前照燈水平調節故障

一、故障現象 一輛2019款別克GL8豪華商務車,搭載LTG發動機,累計行駛里程約為10.7萬km。車主反映,車輛行駛過程中組合儀表提示前照燈水平調節故障。 二、故障診斷 接車后試車,起動發動機,組合儀表上提示“前照燈水平調節…

windows10安裝MongoDB的入門簡易教程【學習自用】

一、下載安裝包 下載地址 https://www.mongodb.com/try/download/community 因為我是在windows上安裝,所以下載windows版本的壓縮包格式 二、下載后解壓到要安裝的目錄里去 我這里在D盤裝,所以就解壓到D盤中我自己建的的mongoDB文件夾中。 三、在解…

02-Nacos和Eureka的區別與聯系

Nacos和Eureka的區別 聯系 Nacos和Eureka整體結構類似: 都支持服務注冊, 服務拉取, 采用心跳方式對服務提供者做健康監測的功能 區別 Nacos支持服務端主動檢測服務提供者狀態: 臨時實例采用心跳模式,非臨時實例采用主動檢測模式但對服務器壓力比較大(不推薦) 心跳模式: 服務…

.net 安裝Postgresql驅動程序ngpsql

.net 安裝Postgresql驅動程序ngpsql 最近搞一個物聯網項目,需要采集fanuc數控機床的數據,廠家提供的API只支持windows,所以就決定C#開發,數據庫用postgresql, 安裝數據庫驅動一波三折。 作為一個討厭微軟的老程序猿&…

靜態鏈接庫和動態鏈接庫(隱式載入顯式載入)

文章目錄 動態鏈接庫和靜態鏈接庫什么是鏈接庫?靜態鏈接庫動態鏈接庫動態鏈接庫的倆種鏈接方式加載時動態鏈接運行時動態鏈接 動態鏈接庫和靜態鏈接庫 動態鏈接庫和靜態鏈接庫都是共享代碼的方法,只是二者略有區別。 以C/C為例,一個可執行文…

工作中用到的數通、安全的查詢、工具、文檔鏈接

文章目錄 一、華為1.設備信息查詢華為序列號查詢華為設備信息速查 2.維護華為交換機命名規則查看光模塊信息交換機ping參數大全 3.實用文檔智能升級堆疊重啟指定成員設備堆疊主備倒換策略路由實現多出口重定向下一跳vrf與vrf、vrf與public互訪路由配置總結 二、奇安信1.授權申請…

四十五----組件庫設計

組件庫設計主要考慮幾點。 有意義: 命名準確,充分表意。參數準確,必要的類型檢查。適當的注釋 通用性:不要耦合特殊的業務功能。不要包含特定的代碼處理邏輯。 ?狀態,?副作?:狀態向上層提取,盡量少?內部狀態。解耦IO操作。 避免過度封裝:合理冗余。避免過度抽象。 …

Rust 學習

Rust 官網:https://www.rust-lang.org/zh-CN/ 1、Rust 簡介 Rust 是一門注重安全(safety)、速度(speed)和并發(concurrency)的現代系統編程語言。Rust 通過內存安全來實現以上目標,但…

LintCode 123 · Word Search (DFS字符處理經典題!)

123 Word Search Algorithms Medium Description Given a 2D board and a string word, find if the string word exists in the grid. The string word can be constructed from letters of sequentially adjacent cell, where “adjacent” cells are those horizontally o…

arcgis api for js4.x 圖層要素的增刪改---使用服務地址的/applyEdits直接進行刪除

添加新要素到圖層 _addGeo(){cosnt self thislet url https://......./featurelayer/某某某圖層/3let geo 你新繪制的圖形let attributes 你新繪制圖形的屬性信息let addingGraphics Graphic({geometry:geo,attributes:attributes})const pro self._addToLayer(url , JS…

Day57力扣打卡

打卡記錄 最小體力消耗路徑 鏈接 Dijkstra 將Dijkstra算法從計算最短路徑轉化為計算路徑最大差值。 class Solution:def minimumEffortPath(self, heights: List[List[int]]) -> int:n, m len(heights), len(heights[0])dist [0] [0x3f3f3f3f] * (n * m - 1)vis set…

iPhone 數據恢復:iMyFone D-Back iOS

iMyFone D-Back iOS 最佳 iPhone 數據恢復,最好的 iPhone 數據恢復軟件,恢復成功率最高。 直接從iOS設備、iTunes/iCloud/第三方程序備份快速恢復數據。 有選擇地恢復已刪除的照片、WhatsApp、消息和 18 多種其他數據類型。 僅通過 iCloud 帳戶訪問即可從…

關系型數據庫-SQLite介紹

優點: 1>sqlite占用的內存和cpu資源較少 2>源代碼開源,完全免費 3>檢索速度上十幾兆、幾十兆的數據庫sqlite很快,但是上G的時候最慢 4>管理簡單,幾乎無需管理。靈巧、快速和可靠性高 5>功能簡…