方法一 複製代碼 代碼如下: declare @max integer,@id integer declare cur_rows cursor local for select 主欄位,count(*) from 表名 group by 主欄位 having count(*) > 1 open cur_rows fetch cur_rows into @id,@max while @@fetch_status=0 begin select @max = @max -1 set
SQL UNION 操作符UNION 操作符用於合并兩個或多個 SELECT 語句的結果集。請注意,UNION 內部的 SELECT 語句必須擁有相同數量的列。列也必須擁有相似的資料類型。同時,每條 SELECT 語句中的列的順序必須相同。SQL UNION 文法SELECT column_name(s) FROM table_name1UNIONSELECT column_name(s) FROM table_name2 注釋:預設地,UNION
分頁:複製代碼 代碼如下:/*分頁尋找資料*/ CREATE PROCEDURE [dbo].[GetRecordSet] @strSql varchar(8000),--查詢sql,如select * from [user] @PageIndex int,--查詢當頁號 @PageSize int--每頁顯示記錄 AS set nocount on declare @p1 int declare @currentPage int set @currentPage = 0 declare
對新添加的記錄,獲得新記錄的自動識別欄位的值,有兩種方式:1.在INSERT中使用OUTPUT關鍵字INSERT INTO table_name(column1,column2,column3)OUTPUT INSERTED.ID --返回自動成長的識別欄位的值VALUES('','','')--ADO.NET調用int r = command.ExecuteScalar();2.使用全域變數@@IDENTITY全域變數INSERT INTO table_name(column1,column2
SQLServer中有兩個擴充預存程序實現Scanf和Printf功能,恰當的使用它們可以在提取和拼接字串時大幅度簡化SQL代碼。1、xp_sscanf,用它可以分解格式相對固定的字串,這對於厭倦使用一堆substring和charindex的朋友來說不錯。比如前幾天的一個文章中提出的如何分解ip地址,相對簡練且通用的代碼應該是下面這樣複製代碼 代碼如下:if (object_id ('f_getip' ) is not null )drop function f_getip go