91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

sqlserver中怎么利用存儲過程去除重復行

發布時間:2021-08-02 16:08:39 來源:億速云 閱讀:153 作者:Leah 欄目:數據庫

這篇文章給大家介紹sqlserver中怎么利用存儲過程去除重復行,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

代碼如下: ALTER procedure [dbo].[PROC_ITEMMASTER_GETUNIQUE] @PAGEINDEX INT,@uid int,@itemnumber varchar(50) AS begin tran --開始事務 drop table [ItemMaster].[dbo].[testim] --刪除表 --把不重復記錄轉存到testim中 select * into [ItemMaster].[dbo].[testim] from [ItemMaster].[dbo].[dat_item_master] where item_uid in(select min(item_uid) as item_uid from [ItemMaster].[dbo].[dat_item_master] group by item_number) and status=0 select top 10 * from [ItemMaster].[dbo].[testim] where item_uid not in (select top (10*(@PAGEINDEX-1)) item_uid from [ItemMaster].[dbo].[testim]) and owneruid=@uid and item_number like @itemnumber+'%' --判斷是否出錯 if @@error<>0 begin rollback tran --出錯則回滾 end else begin --否則提前事務 commit tran end

我的數據是這樣的:因為item_uid是標識列,item_number有重復的, 我想過濾成這樣: 順帶說幾個在編程的時候遇到的小問題 1.程序 出現 Could not find stored procedure 找不到這個存儲過程 因為我的程序數據庫有四個,而默認連接是A,但實際要執行B庫里的存儲過程,導致出錯, 解決辦法1:可在A里面建個一樣的存儲過程2:在執行連接的時候,替換下數據庫就行了 2. asp.net/C# 將存儲過程中返回的數據集,填充到dataset/datatable復制代碼 代碼如下: SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SolutionSQLServer"].ToString()); SqlCommand cmd = new SqlCommand("Test",conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@MaxId", SqlDbType.Int).Value = 12000; SqlDataAdapter sda = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); sda.Fill(dt);

在這感謝 http://www.cnblogs.com/liujuncm5/archive/2009/08/31/1557569.html 3.在存儲過程里面,寫SQL語句不能動態不加order by 功能 比如復制代碼 代碼如下: --·@new_orderby 是傳入參數,不能這樣寫 select top (10*(2-1)) item_uid from testim order by @new_orderby --執行這個的時候,SQL會出現 The SELECT item identified by the ORDER BY number 1 contains a variable as part of the expression identifying a column position. Variables are only allowed when ordering by an expression referencing a column name.

不過我找到解決辦法,不過很麻煩,

http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=9328 (第二個回答用 ' sql '進行連接)

http://databases.aspfaq.com/database/how-do-i-use-a-variable-in-an-order-by-clause.html(用case end 也行)

4. select into 和 insert into select 兩種復制文句 (這里感謝http://www.cnblogs.com/freshman0216/archive/2008/08/15/1268316.html)

  1.INSERT INTO SELECT語句

語句形式為:Insert into Table2(field1,field2,...) select value1,value2,... from Table1

要求目標表Table2必須存在,由于目標表Table2已經存在,所以我們除了插入源表Table1的字段外,還可以插入常量。

  2.SELECT INTO FROM語句

語句形式為:SELECT vale1, value2 into Table2 from Table1

要求目標表Table2不存在,因為在插入時會自動創建表Table2,并將Table1中指定字段數據復制到Table2中。

5.順便復習下常用的SQL方法語句復制代碼 代碼如下: declare @name varchar(200) --聲明變量 set @name='abcd;def' --賦值 print 'exec len :'+Convert(varchar(10),Len(@name)) --convert(type,value)轉換,Len(value)獲取大小 print 'exec charindex:'+Convert(varchar(10),CharIndex('e',@name))--CharIndex(find,value) 在value中查找find的位置 print 'not replace:'+@name print 'exec replace:'+Replace(@name,';','') --用replace替換 print 'exec substring:'+Substring(@name,0,3)--用substring截取 print @@RowCount --返回上一行代碼受影響的行數

關于sqlserver中怎么利用存儲過程去除重復行就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平凉市| 阿勒泰市| 榆林市| 平安县| 永昌县| 磐石市| 固安县| 广汉市| 吉安市| 金平| 修水县| 温宿县| 济阳县| 新源县| 海安县| 盐津县| 广灵县| 扶沟县| 岑巩县| 闸北区| 余江县| 南丰县| 荆门市| 陆丰市| 柳州市| 吴川市| 湛江市| 安庆市| 阜阳市| 兴安盟| 屏东市| 高雄县| 平凉市| 图木舒克市| 金阳县| 卢氏县| 舒城县| 平利县| 兴国县| 嘉峪关市| 凌云县|