SP_RENAME 用於變更目前資料庫中使用者建立的物件名稱。 這個物件可以是資料表、索引、資料行(欄位)、預存程序。 變更物件名稱的任何部分,可能破壞指令碼和預存程序。 我們建議您不要使用此語句來重新命名預存程式、觸發程式、使用者定義函式或檢視;請改為卸載 物件,然後以新的名稱重新建立它。 語法 sp_rename [ @objname = ] 'object_name' ,...
[SQL] 取得最大值的列
範例 --由商品清單取得持有最高販賣單價的商品 select * from 商品清單 where 販賣單價 = (select max(販賣單價) from 商品清單) 執行結果: 商品ID 商品名稱 群組名稱 進貨單價 販賣單價 2 筆記型電腦 電腦主機 299000 270000
[SQL] 取得第n筆到第m筆資料 (Row_Number())
範例 商品清單的販賣單價以降幕排序,並取得第6~8列的資料 --商品清單的販賣單價以降幕排序,並取得第6~8列的資料 select a.* from ( select *,row_number() over (order by 販賣單價 desc) as rowid from 商品清單) a where a.rowid between 6 and 8 執行結果: ...
[SQL] 取得前N筆資料 (Top、Top * Percent、With Ties)
TOP:指定筆數 TOP * PERCENT :指定百分比 WITH TIES: 加上with ties包括相同值 top 5 with ties top 10 percent with ties TOP (expression) [PERCENT] [ WITH TIES ] Top 取得前 N 筆資料...
[SQL] Dense_Rank()、Rank()、Row_Number() 序列號/排名
次序函數: Dense_Rank 數字連續。同名次後,名次連續。數字是連續的,不會有間距。 (例如:1223) Rank 數字不連續。同名次後,名次會跳號。 數字不一定是連續的。(例如:1224) Row_Number 流水號。 (例如:1234) Row_Number 為流水號, 而Rank 與 Dense_Rank 的差異就在於 同名後,數字是不是連續...
[SQL] 顯示資料庫物件的定義 (sp_help、sp_columns)
查詢資料表的結構: sp_help table_name sp_columns table_name 語法 sp_help table_name --顯示欄位定義、條件約束... sp_columns table_name --顯示資料表欄位的定義 範例 顯示販賣資料的定義 --顯示販賣資料的定義 sp_help 販賣資料 --顯示欄位定義、條件約束... sp_co...
[SQL] 以 Select 的結果來建立資料表
Select Into語法可以將 Select的結果拿來製作成資料表。 語法 SELECT * INTO new_table FROM old_table WHERE condition; 範例 從負責人清單來製作員工清單(MGR_ID不為null) --從負責人清單來製作員工清單 --MGR_ID不為null select * into 員工清單 from 負責人清單 where...
[SQL] Stored Procedure 小細節
TSQL邏輯太複雜,請使用SP 如果查詢陳述句太過複雜,請使用SP: 如果你的商業邏輯複雜導致查詢陳述句過長又龐大, 建議可以使用SP來撰寫,因為用戶端(client)只會傳SP Name給SQL Server(而不是一長串的TSQL), 所以網路的傳輸量也會降低不少。 請使用兩節式命名 請使用兩節式命名: 相關的物件請都使用兩節式(schema name+objec...
[SQL] Stored Procedure 預存程序的建立與刪除
stored procedure命名勿使用 sp_ 開頭(使用 usp_開頭) 因為使用sp_開頭的預設都會先至SQL Server的master database搜尋完後,才會搜尋現階段連線的database,不僅耗時更容易有機會出錯(比方跟master db存有的sp撞名)。 --建立SP create procedure usp_test as select get...
[SQL] View 檢視表的製作與刪除
View 檢視表、視圖 (SQL View) 「檢視View」是指以一個以上的資料表為基礎所製作出來的邏輯資料表,可以用與一般資料表相同的方式來使用。View的基礎資料表為「實際資料表」。(View 內的資料紀錄是由實際存在的資料表中產生的) View它就像是一個虛擬資料表,View本身並不持有任何的資料,而是在每一次發生詢問時從實際資料表取得資料,所有的 SQL 查詢語法都可以操作在此...