詳解SQL游標的用法_MsSql

來源:腳本之家  責任編輯:小易  

round()遵循四舍五入把原值轉化為指定小數位數,如:round(1.45,0)=1;round(1.55,0)=2floor()向下舍入為指定小數位數 如:floor(1.45,0)=1;floor(1.55,0)=1ceiling()向上舍入為指定小數位數 如:ceiling(1.45,0)=2;ceiling(1.55,0)=2www.anxorj.tw防采集請勿采集本網。

類型:

       1.普通游標   只有NEXT操作

IN 操作符允許我們在 WHERE 子句中規定多個值。SQL IN 語法: SELECT column_name(s) FROM table_name WHERE column_name IN(value1,value2,.) 擴展資料: 1、IN 與=ANY 等價,均表示,變量在

       2.滾動游標 有多種操作

方法executeUpdate 用于執行INSERT、UPDATE或DELETE語句以及SQLDDL(數據定義語言)語句,例如CREATETABLE和DROPTABLE。INSERT、UPDATE或DELETE語句的效果是修改表中零行或多行中的一列或多列。

1.普通游標

關鍵字:左右連接 數據表的連接有: 1、內連接(自然連接):只有兩個表相匹配的行才能在結果集中出現 2、外連接:包括 (1)左外連接(左邊的表不加限制) (2)右外連接(右邊的表不加限制) (3)全外

DECLARE @username varchar(20),@UserId varchar(100)DECLARE cursor_name CURSOR FOR --定義游標 SELECT TOP 10 UserId,UserName FROM UserInfo ORDER BY UserId DESCOPEN cursor_name --打開游標FETCH NEXT FROM cursor_name INTO @UserId,@username --抓取下一行游標數據WHILE @@FETCH_STATUS = 0 BEGIN PRINT '用戶ID:'[email protected]+' '+'用戶名:'[email protected] FETCH NEXT FROM cursor_name INTO @UserId,@username ENDCLOSE cursor_name --關閉游標DEALLOCATE cursor_name --釋放游標

養生壺除了一般的煮水、煮花茶,還可以煮蛋、煲湯、煮面、養生藥膳2113、五谷粥、火鍋、酸奶、煮酒、熱奶、涼茶、消毒、保溫、蒸5261水蛋、煮咖啡、嬰兒用水、奶粉用水。以養生壺水果茶為4102例

結果:

但group by還用另一種用法,就是配合having來使用,如表數據不變,現在要求在表中,id出現大于一次的id及個數 1select id,count(*)as counts from test group by id having count(*)>1;結果就是: id

用戶ID:zhizhi            用戶名:鄧鴻芝

用戶ID:yuyu            用戶名:魏雨

用戶ID:yujie            用戶名:李玉杰

用戶ID:yuanyuan            用戶名:王夢緣

用戶ID:YOUYOU            用戶名:lisi

用戶ID:yiyiren            用戶名:任毅

用戶ID:yanbo            用戶名:王艷波

用戶ID:xuxu            用戶名:陳佳緒

用戶ID:xiangxiang            用戶名:李慶祥

用戶ID:wenwen            用戶名:魏文文

2.滾動游標

--帶SCROLL選項的游標SET NOCOUNT ONDECLARE C SCROLL CURSOR FOR --SCORLL 后,有了更多的游標操作(滾動游標) SELECT TOP 10 UserId,UserName FROM UserInfo ORDER BY UserId DESCOPEN C FETCH LAST FROM C --最后一行的數據,并將當前行為指定行FETCH ABSOLUTE 4 FROM C --從第一行開始的第4行數據,并將當前行為指定行 這里的n可正可負,n>0 往下翻,n<0 往上翻FETCH RELATIVE 3 FROM C --相對于當前行的后3行數據,并將當前行為指定行 這里的n可正可負FETCH RELATIVE -2 FROM C --相對于當前行的前2行數據,并將當前行為指定行FETCH PRIOR FROM C ----相對于當前行的前1行數據FETCH FIRST FROM C --剛開始第一行的數據,并將當前行為指定行FETCH NEXT FROM C --相對于當前行的后1行數據CLOSE CDEALLOCATE C

結果(可以參考第一個結果分析):

具體FETCH用法:

FETCH [ [ NEXT | PRIOR | FIRST | LAST | ABSOLUTE { n | @nvar } | RELATIVE { n | @nvar } ] FROM ] { { [ GLOBAL ] cursor_name } | @cursor_variable_name } [ INTO @variable_name [ ,...n ] ]

Arguments

NEXT

Returns the result row immediately following the current row and increments the current row to the row returned. If FETCH NEXT is the first fetch against a cursor, it returns the first row in the result set. NEXT is the default cursor fetch option.

PRIOR

Returns the result row immediately preceding the current row, and decrements the current row to the row returned. If FETCH PRIOR is the first fetch against a cursor, no row is returned and the cursor is left positioned before the first row.

FIRST

Returns the first row in the cursor and makes it the current row.

LAST

Returns the last row in the cursor and makes it the current row.

ABSOLUTE { n| @nvar}

If n or @nvar is positive, returns the row n rows from the front of the cursor and makes the returned row the new current row. If n or @nvar is negative, returns the row n rows before the end of the cursor and makes the returned row the new current row. If n or @nvar is 0, no rows are returned. n must be an integer constant and @nvar must be smallint, tinyint, or int.

RELATIVE { n| @nvar}

If n or @nvar is positive, returns the row n rows beyond the current row and makes the returned row the new current row. If n or @nvar is negative, returns the row n rows prior to the current row and makes the returned row the new current row. If n or @nvar is 0, returns the current row. If FETCH RELATIVE is specified with n or @nvar set to negative numbers or 0 on the first fetch done against a cursor, no rows are returned. n must be an integer constant and @nvar must be smallint, tinyint, or int.

GLOBAL

Specifies that cursor_name refers to a global cursor.

cursor_name

Is the name of the open cursor from which the fetch should be made. If both a global and a local cursor exist with cursor_name as their name, cursor_name to the global cursor if GLOBAL is specified and to the local cursor if GLOBAL is not specified.

@cursor_variable_name

Is the name of a cursor variable referencing the open cursor from which the fetch should be made.

INTO @variable_name[ ,...n]

Allows data from the columns of a fetch to be placed into local variables. Each variable in the list, from left to right, is associated with the corresponding column in the cursor result set. The data type of each variable must either match or be a supported implicit conversion of the data type of the corresponding result set column. The number of variables must match the number of columns in the cursor select list.

以上就是詳解SQL游標的用法的詳細內容,更多關于SQL游標用法的資料請關注真格學網其它相關文章!

Group By 子句是將查詢結果按復某一列或多列的值分組的制,值相等的為一組。所以你想分出結果的哪組都行啊,只要bai是你查詢的使用duhaving短語是為了指定篩選條zhi件,即從Group by所分出來的分組結果中進行篩選則daohaving后面可以加條件如:select snofrom scgroup by snohaving count(*)>3內容來自www.anxorj.tw請勿采集。


  • 本文相關:
  • mysql游標概念與用法詳解
  • mysql的存儲過程、游標 、事務實例詳解
  • python操作sqlite數據庫的方法詳解【導入,創建,游標,增刪改查等】
  • mysql使用游標批量處理進行表操作
  • sql存儲過程游標循環的用法及sql如何使用cursor寫一個簡單的循環
  • mysql存儲過程循環內嵌套使用游標示例代碼
  • mysql游標的使用實例
  • 根據表名和索引獲取需要的列名的存儲過程
  • sql語句檢測sp4補丁是否安裝
  • sqlserver 數據修復命令dbcc一覽
  • sql report builder 報表里面的常見問題分析
  • sql2000數據庫的備份文件恢復到sql2005的方法
  • sql server 索引結構及其使用(一)--深入淺出理解索引結構
  • 安裝sql server 2008 management提示已安裝 sql server 2005 exp
  • sql server中的非聚集索引詳細介
  • mssql server 數據庫附加不上解決辦法分享
  • 使用sqlserver存儲過程sp_send_dbmail發送郵件配置方法(圖文)
  • SQL中Group By 用法
  • sql中詳解round(),floor(),ceiling()函數的用法和區別?
  • 關于SQL中join on 的用法神馬的
  • sql中case when …… then …… 用法是什么?
  • sql語句中in的用法
  • executeUpdate()方法的使用
  • SQL內連接與外連接用法與區別
  • 養生壺怎么用 養生壺使用方法詳解
  • sql 關于 count(*)和 group by 的用法
  • SQL語句 SELECT LIKE like用法?
  • 網站首頁網頁制作腳本下載服務器操作系統網站運營平面設計媒體動畫電腦基礎硬件教程網絡安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess數據庫文摘數據庫其它首頁mysql游標概念與用法詳解mysql的存儲過程、游標 、事務實例詳解python操作sqlite數據庫的方法詳解【導入,創建,游標,增刪改查等】mysql使用游標批量處理進行表操作sql存儲過程游標循環的用法及sql如何使用cursor寫一個簡單的循環mysql存儲過程循環內嵌套使用游標示例代碼mysql游標的使用實例根據表名和索引獲取需要的列名的存儲過程sql語句檢測sp4補丁是否安裝sqlserver 數據修復命令dbcc一覽sql report builder 報表里面的常見問題分析sql2000數據庫的備份文件恢復到sql2005的方法sql server 索引結構及其使用(一)--深入淺出理解索引結構安裝sql server 2008 management提示已安裝 sql server 2005 expsql server中的非聚集索引詳細介mssql server 數據庫附加不上解決辦法分享使用sqlserver存儲過程sp_send_dbmail發送郵件配置方法(圖文)sql server 2012 安裝圖解教程(附sql server數據庫入門學習總結microsoft sql server 2012 數據sql重復記錄查詢的幾種方法win7系統安裝sqlserver2000的詳細sqlserver中distinct的用法(不重sql server錯誤代碼大全及解釋(sql-order by 多字段排序(升序、sql將一個表中的數據插入到另一個用sql語句添加刪除修改字段、一些sql server2012中新增函數之字符串函數cosql server 2012安裝后服務器名稱找不到的mssql 數據庫同步教程sql存儲過程的使用和介紹mysql與mssql的md5加密語句sql server 2008 到底需要使用哪些端口?sql server 刪除重復內容行sql語句(t-sql匯總) 用t-sql畫出這些圖形sql server實現將特定字符串拆分并進行插利用sys.sysprocesses檢查sqlserver的阻塞
    免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
    Copyright © 2017 www.anxorj.tw All Rights Reserved
    陕西快乐10分下载