日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL语言:嵌入式SQL知识笔记

發布時間:2023/12/10 数据库 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL语言:嵌入式SQL知识笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? ? ? ?

?

1、概念

SQL提供了將SQL語句嵌入到某種高級語言中的使用方式,通常采用預編譯的方法將SQL語句嵌入高級語言中。采用的方法由DBMS的預處理程序對源程序進行掃碼、識別出SQL語句,把它們轉換為主語言調用語句,這樣可以讓主語言編譯程序能識別它,最后由主語言的編譯程序將整個源程序編譯成目標碼。

2、SQL嵌入主語言涉及的幾個問題

區分主語言語句與SQL語句:通常在SQL語句前加前綴EXEC SQL,結束標志會跟著主語言不同而不同。

主語言工作單元與數據庫工作單元的通信機制

1、SQL通信區:向主語言傳遞SQL語句執行狀態信息,使主語言能夠根據此信息控制程序流程。

2、主變量:也成為共享變量。主語言向SQL語句提供參數主要通過主變量,主變量由主語言的程序定義,并用SQl的DECLARE語句說明。比如C語言中用法:

exec sql begin delcare p char sno[4],cno[3] int grade; char sqlstate[7] exec sql end declare p

根據共享變量givesno值查詢學生關系students 中的學生姓名、年齡、性別

exec sql select sname,age,sex into :Msno,:Mcno;givensno from studnets where sno:Msno;

3、游標

SQl語言主要是面向集合的,一條SQL語句可產生或處理多條記錄。而主語言是面向記錄的,一組主變量一次只能放一條記錄,因此引入游標,通過移動游標指針來決定獲取那一條記錄。

3.1 定義游標:

exec sql declare<游標> cursor for <select 查詢語句> endexec

3.2 打開游標

exec sql open <游標名> endexec


該語句執行游標定義中的select語句,同時游標處于活動狀況。游標是一個指針,此時指向查詢結構的第一行之前。

3.3 推進游標

exec sql fetch from <游標名> into <變量表> endexec

該語句使用時,游標推進一行,并把游標指向的行中的值取出來,送到共享變量中去。

3.4 關閉游標

exec sql close <游標名> endexec

3.5游標完整例子

---游標更新刪除當前數據 ---1.聲明游標 declare orderNum_03_cursor cursor scroll for select OrderId ,userId from bigorder where orderNum='ZEORD003402' --2.打開游標 open orderNum_03_cursor --3.聲明游標提取數據所要存放的變量 declare @OrderId int ,@userId varchar(15) --4.定位游標到哪一行 fetch First from orderNum_03_cursor into @OrderId,@userId --into的變量數量必須與游標查詢結果集的列數相同 while @@fetch_status=0 --提取成功,進行下一條數據的提取操作 beginif @OrderId=122182beginUpdate bigorder Set UserId='123' Where Current of orderNum_03_cursor --修改當前行endif @OrderId=154074beginDelete bigorder Where Current of orderNum_03_cursor --刪除當前行endfetch next from orderNum_03_cursor into @OrderId ,@userId --移動游標end

IT技術分享社區

個人博客網站:https://programmerblog.xyz

文章推薦程序員效率:畫流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠程辦公:常用的遠程協助軟件,你都知道嗎?51單片機程序下載、ISP及串口基礎知識硬件:斷路器、接觸器、繼電器基礎知識

?

總結

以上是生活随笔為你收集整理的SQL语言:嵌入式SQL知识笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。