數據庫12(游標)

游標語法

declare c1 cursor for?
select title from titles

--定義一個游標c1,確定游標對應的列是titles表的title列,游標可以對應多個列

declare @bname varchar(50)

--聲明變量

open c1

--初始化,開始使用游標
fetch next from c1
into @bname

--初始化游標c1到i=0,即起始位置,把游標對應列的值放入變量中,用作輸出

while @@FETCH_STATUS=0

--判斷游標狀態,是否到最后一行
begin
?print 'the name of the book is '+@bname

--對每行做數據做相應操作
fetch next from c1
into @bname

--完成操作后,游標后移,再次把游標對應行的該列值放入變量,重復直到游標到最后一列
end

close c1 --關閉游標
deallocate c1 --銷毀游標

practice

first:多個變量,聚合函數輸出,返回多個字符串


declare b cursor for
select title_id from titleauthor
declare @titleid1 varchar(50),@sum1 int,@sum2 int,@sum3 int
open b
fetch next from b
into @titleid1
while @@FETCH_STATUS=0
begin
set @sum1=(select count(*) from sales where title_id=@titleid1 and ord_date between '1992-1-1' and '1992-12-30')
set @sum2=(select count(*) from sales where title_id=@titleid1 and ord_date between '1993-1-1' and '1993-12-30')
set @sum3=(select count(*) from sales where title_id=@titleid1 and ord_date between '1994-1-1' and '1994-12-30')
?print @titleid1+' '+cast(@sum1 as varchar(10))+' '+cast(@sum2 as varchar(10))+' '+cast(@sum3 as varchar(10))
fetch next from b
into @titleid1?
end
close b
deallocate b

second:多個變量,返回表


declare c cursor for
select title_id from titleauthor
declare @titleid2 varchar(50),@asum1 int,@asum2 int,@asum3 int
create table #temptable(
titleid varchar(100),
count92 int,
count93 int,
count94 int)
open c
fetch next from c
into @titleid2
while @@FETCH_STATUS=0
begin
set @asum1=(select count(*) from sales where title_id=@titleid2 and ord_date between '1992-1-1' and '1992-12-30')
set @asum2=(select count(*) from sales where title_id=@titleid2 and ord_date between '1993-1-1' and '1993-12-30')
set @asum3=(select count(*) from sales where title_id=@titleid2 and ord_date between '1994-1-1' and '1994-12-30')
insert into #temptable values(@titleid2,@asum1,@asum2,@asum3)
fetch next from c into @titleid2
end
close c
deallocate c

select * from #temptable
drop table #temptable

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

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

相關文章

第四部分:賦予網頁健壯的靈魂 —— TypeScript(中)

目錄 4 類與面向對象:構建復雜的組件4.1 類的定義與成員4.2 繼承 (Inheritance)4.3 接口實現 (Implements)4.4 抽象類 (Abstract Class)4.5 靜態成員 (Static Members) 5 更高級的類型:讓類型系統更靈活5.1 聯合類型 (|)5.2 交叉類型 (&)5.3 字面量類…

Vue3源碼學習-提交限制

文章目錄 前言? 1. ESLint 限制🔧 配置位置:? 啟用了哪些規則(核心):📦 使用的插件和標準: ? 2. TSC 編譯限制關鍵選項: ? 3. Git Hook 校驗工具鏈配置例子(package.…

Arthas 使用攻略

目錄 背景 Arthas是什么? 安裝 使用arthas-boot(推薦) 啟動 常用命令 一鍵生成arthas命令的插件(強烈推薦) watch 一、命令語法結構 二、核心參數詳解 三、實戰場景 1. 基礎觀測 - 查看入參和返回值 2. 條件過濾 - 只關注特定參…

冥想類短視頻批量剪輯自動混剪技術實踐:從素材處理到智能合成全解析

一、引言:工業化內容生產的技術突圍 在心理健康類內容爆發的當下,冥想類短視頻憑借「低制作成本 高用戶粘性」的特性成為熱門賽道。本文結合實戰經驗,解析如何通過模塊化素材處理、參數化合成引擎、自動化質量控制等技術手段,構…

【自定義控件實現最大高度和最大寬度實現】

背景 開發中偶爾遇到控件寬度或者高度在自適應的情況下,有個邊界值,也就是最大值。 比如高度自適應的情況下最大高度300dp這種場景。 實現 關鍵節點代碼: Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)…

綜合練習三

使用到的知識點:xml文件,初始化file數據,提取file文件數據 題目:水文檢測系統 備注:可以把序號作為該條數據的唯一標識(即UUID),而不是第一條第二條數據這樣的類型。代碼是后者&…

Microsoft Entra ID 詳解:現代身份與訪問管理的核心

Microsoft Entra ID(原名為 Azure Active Directory,簡稱 Azure AD)是微軟推出的云端身份和訪問管理服務,專為現代混合環境設計,支持企業安全地管理用戶身份、控制資源訪問,并集成多種應用與服務。以下從核心功能到最佳實踐全面解析 Entra ID。 1. Entra ID 的核心定位 …

從技術角度看Facebook的隱私保護機制

在數字化時代,隱私保護成為了公眾關注的焦點。作為全球最大的社交網絡平臺之一,Facebook 在隱私保護方面采取了一系列技術措施。本文將從技術角度探討 Facebook 的隱私保護機制,揭示它是如何在提供個性化服務的同時,確保用戶隱私信…

基于策略模式實現靈活可擴展的短信服務架構

基于策略模式實現靈活可擴展的短信服務架構 引言 在企業級應用開發中,短信服務是不可或缺的基礎功能之一。隨著業務發展,我們可能需要接入多個短信服務提供商(如阿里云、騰訊云、第三方短信網關等),并能夠在不修改核…

Vue 3 單文件組件中 VCA 語法糖及核心特性詳解

在 Vue.js 的開發世界里,單文件組件(Single File Components,簡稱 SFC)是構建復雜應用的基石。它將 HTML、CSS 和 JavaScript 代碼封裝在一個.vue文件中,極大地提高了代碼的可維護性和復用性。 本文將深入探討單文件組…

【Unity C#從零到精通】項目深化:構建核心游戲循環、UI與動態敵人系統

Langchain系列文章目錄 01-玩轉LangChain:從模型調用到Prompt模板與輸出解析的完整指南 02-玩轉 LangChain Memory 模塊:四種記憶類型詳解及應用場景全覆蓋 03-全面掌握 LangChain:從核心鏈條構建到動態任務分配的實戰指南 04-玩轉 LangChai…

SNR8016語音模塊詳解(STM32)

目錄 一、介紹 二、傳感器原理 1.原理圖 2.引腳描述 三、程序設計 main文件 usart.h文件 usart.c文件 四、實驗效果 五、資料獲取 項目分享 一、介紹 SNR8016語音模塊是智納捷科技生產的一種離線語音識別模塊,設計適合用于DIY領域,開放用戶設…

「動態規劃」線性DP:最長上升子序列(LIS)|編輯距離 / LeetCode 300|72(C++)

概述 DP,即動態規劃是解決最優化問題的一類算法,我們要通過將原始問題分解成規模更小的、相似的子問題,通過求解這些易求解的子問題來計算原始問題。 線性DP是一類基本DP,我們來通過它感受DP算法的奧義。 最長上升子序列&#x…

【NumPy完全指南】從基礎操作到高性能計算實戰

📑 目錄 一、NumPy核心價值1.1 科學計算現狀分析1.2 ndarray設計哲學 二、核心數據結構解析2.1 ndarray內存布局2.2 數據類型體系 三、矢量化編程實踐3.1 通用函數(ufunc)示例3.2 廣播機制圖解 四、高性能計算進階4.1 內存預分配策略4.2 Cython混合編程 五、典型應用…

你的項目有‘哇‘點嗎?

你的項目有哇點嗎? 刷了一下午招聘軟件,發現沒?大廠JD里總愛寫有創新力者優先——可你們的簡歷,創新力還不如食堂菜單! 程序員寫項目最大的誤區:把創新當彩蛋藏最后!什么參與需求評審負責模塊…

2025年危化品安全員考試題庫及答案

一、單選題 126.安全生產監督管理部門和負有安全生產監督管理職責的有關部門逐級上報事故情況,每級上報的時間不得超過()小時。 A.2 B.6 C.12 答案:A 127.按照《安全生產法》規定,危險化學品生產經營單位的從業人員不服從管理,違反安全生…

第十六屆藍橋杯 C/C++ B組 題解

做之前的真題就可以發現,藍橋杯特別喜歡出找規律的題,但是我還是低估了官方的執念。本博客用于記錄第一次藍橋的過程,代碼寫的很爛,洛谷已經有的題解,這里不再贅述,只說自己遇到的問題。用于以后回顧和查找…

C++ 基于多設計模式下的同步異步?志系統-2項目實現

?志系統框架設計 1.?志等級模塊:對輸出?志的等級進?劃分,以便于控制?志的輸出,并提供等級枚舉轉字符串功能。 ? OFF:關閉 ? DEBUG:調試,調試時的關鍵信息輸出。 ? INFO:提?,普通的提?…

提示詞工程(GOT)把思維鏈推理過程圖結構化

Graph of Thoughts(GOT)? 思維圖(Graph of Thoughts)是一種結構化的表示方法,用于描述和組織模型的推理過程。它將信息和思維過程以圖的形式表達,其中節點代表想法或信息,邊代表它們…

登錄github失敗---解決方案

登錄github失敗—解決方案 1.使用 Microsoft Edge 瀏覽器 2.https://www.itdog.cn/dns/ 查詢 github.global.ssl.fastly.net github.com 兩個 域名的 IP 3.修改DNS 為 8.8.8.8 8.8.4.4 4.修改windows hosts 文件 5. 使用 Microsoft Edge 瀏覽器 打開github.com