非常用SQL語句技巧總結

来源:http://www.cnblogs.com/xiongzaiqiren/archive/2016/02/25/5216014.html
-Advertisement-
Play Games

為數據表去掉一個外鍵關聯,然後再添加一個外鍵關聯.批量數據導入.在全部用戶表和存儲過程中尋找包含某段文字的用戶表和存儲過程.數據表的列重命名.


1.為數據表添加一個新欄位

Alter TABLE [dbo].[CustomerBackupConfig] Add [Stamp] [timestamp] NULL
GO

 

2.為數據表添加兩個新欄位

Alter Table tblStates Add [TaxRate] money not null default 0,
[Transit] int not null default 0
GO

 

3.為數據表刪除一個欄位

Alter Table [dbo].[tblOrder] Drop Column [CookieID]
GO

 

4.修改數據表一個欄位的定義

Alter Table [dbo].[tblOrder] Alter Column [CookieID] int not null
GO

 

5.刪除數據表

Drop Table tblTaxRate
GO

 



6.為數據表去掉一個外鍵關聯,然後再添加一個外鍵關聯

Alter TABLE [dbo].[OrderPackageOption] Drop CONSTRAINT [FK_OrderPackageOption_OrderPackage]


ALTER TABLE [dbo].[OrderPackageOption] ADD
CONSTRAINT [FK_OrderPackageOption_OrderPackage] FOREIGN KEY
(
[OrderPackageID]
) REFERENCES [dbo].[OrderPackage] (
[OrderPackageID]
)
GO

 



7. 為數據表添加兩個外鍵關聯,並且設置其中之一不檢查現有數據是否符合關聯要求。

ALTER TABLE [dbo].[Account] ADD
CONSTRAINT [FK_Account_State] FOREIGN KEY
(
[StateID]
) REFERENCES [dbo].[State] (
[StateID]
),
CONSTRAINT [FK_Account_TimeZones] FOREIGN KEY
(
[TimeZoneID]
) REFERENCES [dbo].[TimeZones] (
[timeid]
)
GO

Alter table [dbo].[Account] NoCheck Constraint [FK_Account_TimeZones]
GO

 



8. 增加外鍵時不檢查當前數據

ALTER TABLE [dbo].[Account] With NoCheck
ADD CONSTRAINT [FK_Account_AccountType] 
FOREIGN KEY
(
[TypeID]
) REFERENCES [dbo].[AccountType] (
[TypeID]
)
GO

 



9.為了對數據表進行批量的數據導入,需要將identity_insert先打開,執行完後在關閉。其目的是避開自增列的檢查,順利執行插入操作。

set identity_insert [dbo].[PSTNUsageNotes] on
--在這裡執行對PSTNUsageNotes表的批量插入操作
set identity_insert [dbo].[PSTNUsageNotes] off

 



10.暫時關閉約束檢查,等數據操作完成後再打開。

ALTER TABLE [Usage] NOCHECK CONSTRAINT [FK_USAGE_REFERENCE_PSTN1]
ALTER TABLE [Usage] NOCHECK CONSTRAINT [FK_USAGE_REFERENCE_PSTN2]
-- 在這裡執行有可能破壞外鍵約束的操作,如強行刪除數據等
ALTER TABLE [Usage] CHECK CONSTRAINT [FK_USAGE_REFERENCE_PSTN1]
ALTER TABLE [Usage] CHECK CONSTRAINT [FK_USAGE_REFERENCE_PSTN2]

 



11. 數據表的列重命名

exec sp_rename 'dbo.LocationIncidentalServiceRelationship.UsageAllowedWithouReservation','UsageAllowedWithoutReservation','column'

 



12. 檢查A資料庫中有哪些存儲過程在B資料庫中不存在

select name from Jaguar.dbo.sysobjects where xtype='P' and name not in
(select name from JaguarTest.dbo.sysobjects where xtype='P' )

 



13. 在全部用戶表和存儲過程中尋找包含某段文字的用戶表和存儲過程

select OBJECT_NAME(id) AS name,[name] as content,xtype from sysobjects
where [name] like '%IncidentalService%' And (xtype='U' or xtype='P')

 


類型說明:

 
xtype type
C CHECK   約束
D 預設值或   DEFAULT   約束
F FOREIGN   KEY   約束
FN 標量函數
IF 內嵌表函數
P 存儲過程
RF 複製篩選存儲過程
S 系統表
TF 表函數
TR 觸發器
U 用戶表
V 視圖
X 擴展存儲過程
L 日誌

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本地: 1.進入MySQL目錄下的bin文件夾:e:回車; e:\>cd mysql\bin? 回車 2.導出資料庫:mysqldump -u 用戶名 -p 資料庫名 > 導出的文件名 範例:mysqldump -uroot -p abc > abc.sql(導出資料庫abc到abc.sql文件)提
  • 事主的問題應該是想把最新的數據和次新數據放在一行里顯示。 因為沒有說明重覆的情況如何處理,即有多個最新數據或者有多個次新數據,所以我沒有做過多的處理。 哈哈哈。
  • 簡介 什麼是死鎖? 我認為,死鎖是由於兩個對象在擁有一份資源的情況下申請另一份資源,而另一份資源恰好又是這兩對象正持有的,導致兩對象無法完成操作,且所持資源無法釋放。 什麼又是阻塞? 阻塞是由於資源不足引起的排隊等待現象。比如同時兩個進程去更新一個表。 這裡我們可以把阻塞作為死鎖的必要條件。下麵我們
  • 教程:http://jingyan.baidu.com/article/f3ad7d0ffc061a09c3345bf0.html Mysql修改設置root密碼的命令及方法:http://jingyan.baidu.com/article/a3f121e41b141afc9052bb8e.html
  • 資料庫是定義及產品分類
  • SQL
    一.Transact-SQL的GO,詳解 (1) SQL Server 實用工具將 GO 解釋為應將當前的 Transact-SQL 批處理語句發送給 SQL Server 的信號。當前批處理語句是自上一 GO 命令後輸入的所有語句,若是第一條 GO 命令,則是從特殊會話或腳本的開始 處到這條 GO
  • SQL Server代理是所有實時資料庫的核心。代理有很多不明顯的用法,因此系統的知識,對於開發人員還是DBA都是有用的。這系列文章會通俗介紹它的很多用法。 在這一系列的上一篇,我們查看了維護計劃,一個維護計劃可能會創建多個作業,多個計劃。你還簡單地看了SSIS子系統,並查看了維護計劃作業步驟的 屬
  • 最近項目中要遞歸樹形,案例如下: 測試數據: CREATE TABLE tb(ID char(3),PID char(3),Name nvarchar(10)) INSERT tb SELECT'001',NULL ,'山東省' UNION ALL SELECT'002','001','煙臺市' U
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...