1. 程式人生 > >SQL Server : 表是否存在;表中某欄位是否存在;儲存過程是否存在;索引是否存在;

SQL Server : 表是否存在;表中某欄位是否存在;儲存過程是否存在;索引是否存在;

table_name --表名

field_name --欄位名

一、表是否存在:

--如果不存在表,那麼建立

IF OBJECT_ID('table_name') IS NULL 
BEGIN 
     CREATE TABLE table_name([field_name] [UNIQUEIDENTIFIER] PRIMARY KEY CLUSTERED NOT NULL  
          ,[field_name] [UNIQUEIDENTIFIER] 
          ,[field_name] [UNIQUEIDENTIFIER] 
     )
END
GO 

二、表中某欄位是否存在:

--如果不存在某欄位,那麼新增,否則修改

IF NOT EXISTS(SELECT * FROM syscolumns WHERE name='field_name' AND id=OBJECT_ID('table_name')) 
   ALTER TABLE [table_name] ADD [field_name] VARCHAR(50);    --新增欄位
ELSE
   ALTER TABLE [table_name] ALTER COLUMN [field_name] VARCHAR(50);    --修改欄位

GO 

三、儲存過程是否存在:

--如果存在儲存過程,那麼先刪除,再建立
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_cb_Calc]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[usp_cb_Calc]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[usp_cb_Calc]  
(  
 @field_name

uniqueidentifier,  
 @field_name varchar(100)  
)  
AS  

-- DECLARE @testLevel tinyint  

-- 

--

--Return 1

四、索引是否存在:

--如果存在索引,那麼先刪除索引,然後再建立索引

IF EXISTS(SELECT * FROM sysindexes WHERE id=object_id('table_name') AND name='_dta_index_k_Task_Z') 
DROP INDEX [_dta_index_k_Task_Z] ON [dbo].[table_name]

GO 

CREATE NONCLUSTERED INDEX [_dta_index_k_Task_Z] ON [dbo].[table_name]
(
[field_name

] ASC,
[field_name] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO

相關推薦

SQL Server : 是否存在是否存在儲存過程是否存在索引是否存在

table_name --表名field_name --欄位名一、表是否存在:--如果不存在表,那麼建立IF OBJECT_ID('table_name') IS NULL BEGIN      CREATE TABLE table_name([field_name] [UN

解決SQL SERVER 2008資料庫修改後不能儲存的問題

1.找到工具》選項》Designers》表設計器和資料庫設計器 2.然後將“阻止儲存要求重新建立表的更改” 的這一項的鉤鉤去掉就OK了  原文地址:http://www.bitscn.com/pdb/mssql/201411/405016.html

SQL——Sql_Server如何判斷是否存在

--比如說要判斷表A中的欄位C是否存在兩個方法: 一, IF EXISTS ( SELECT 1 FROM SYSOBJECTS T1 INNER JOIN SYSCOLUMNS

Django自定義使用者+自定義admin後臺

1.自定義使用者表 注意事項 必須在settings中配置AUTH_USER_MODEL這個欄位 # 覆蓋預設的使用者模型,使用自定義使用者模型 # 語 法:'app的名稱.自定義使用者模型的名稱' AUTH_USER_MODEL = 'admi.UserModel

AE獲取資料唯一值

{ 9              // 得到IFeatureCursor遊標 10             IFeatureCursor pCursor = pFeatureClass.Search( null , false );11 12              // coClass物件例項生成 13

mysql 觸發器 監聽這個插入時增加資料 在變動時進行觸發

專案觸發器 在mysql 表中增加  需求 當這個表 新增記錄的時候觸發 DROP TRIGGER IF EXISTS t_make_data; //刪除原先的觸發器 CREATE TRIGGER t

extract_by_one 根據二維陣列來提取陣列資訊,檢視有無重複資訊

public function tt(){ $param = array( array ( 'hykno' => '2222222-CB', 'tcdk_f

使用group by,having,count函式查詢表相同內容的資料

方法一: 思路:使用group by分組,再用count計算每組的個數,最後用having比較計算後的值大於1的資料。           select  PRODUCT_CODE from TM_CIS_REQ_PRD_HIS_COUNT                 

SQL Serversql server更改了數據的字段/新增數據的字段 無法保

ima png src 無法 取消 解決方法 更改 designers 字段 sql server更改了數據表的字段/新增數據表的字段 無法保存 解決方法:進入 工具-->選項-->Designers-->表設計器和數據庫設計器-->取消勾

SQL SERVER 將一個數據庫和資料複製到另一個數據庫

第一種情況:將A資料庫.dbo.A表的資料追加到B資料庫.dbo.B表中 (條件:此時B資料庫中已建立好了B表) insert into B資料庫.dbo.B表 select * from A資料庫.dbo.A表 [where條件] 此T-SQL語句會有異常   &n

SQL Server(第一章) 創建 刪除 創建主鍵約束、唯一約束、外鍵約束、CHECK約束、默認約束

tsql mil null employee alter bold soft arc 刪除表 1.Employees員工表 /** 創建Employees員工表 **/ USE TSQL2012 IF OBJECT_ID(‘dbo.Employees‘,‘U‘) IS N

SQL server 數據庫的的創建與使用T-SQL語句操控數據

cto c51 update log 備註 str sha rom not null 表的創建與T-SQL語句的使用 一,表的創建與基本概念 表是包含數據庫中所有數據的數據庫對象,表定義是一個集

Sql Server系列:分區操作

red 可伸縮 ID 不同 一個 edate pan 添加分區 必須 1. 分區表簡介   分區表在邏輯上是一個表,而物理上是多個表。從用戶角度來看,分區表和普通表是一樣的。使用分區表的主要目的是為改善大型表以及具有多個訪問模式的表的可伸縮性和可管理性。   分區表是把數據

SQL Server - 使用 Merge 語句實現數據之間的對比同步

col OS form p s normal size ted split stat 原文:SQL Server - 使用 Merge 語句實現表數據之間的對比同步表數據之間的同步有很多種實現方式,比如刪除然後重新 INSERT,或者寫一些其它的分支條件判斷再加以 INSE

SQL Server 基礎之《學生-教師-課程表-選課表》(二)

lap sql 分享 var -c view weight HA aid 表結構 --學生表tblStudent(編號StuId、姓名StuName、年齡StuAge、性別StuSex) --課程表tblCourse(課程編號CourseId、課程名稱CourseNam

SQL Server語句建立資料庫和——並設定主外來鍵關係

簡單的建立資料庫的 SQL 語句: 1 use master 2 go 3 4 if exists(select * from sysdatabases where name='Test') 5 begin 6 select '該資料庫已存在' 7

SQL SERVER 語句建立資料庫和以及設定主外來鍵關係

簡單的建立資料庫的 SQL 語句: use master go if exists(select * from sysdatabases where name='Test') begin     select '該資料庫已存在'    

SQL Server 根據樹狀結構生成以/號分割的路由字串

很多情況下,我們有必要把樹形結構進行資料梳理。比如,要方便的過濾出一個父節點下的所有子節點等等。。。 這個時候,我們可以生成一個路徑表字符串,在應用時只需要對該字串進行索引即可達成目的。 目標:按圖示的部門結構樹,獲取本身的完整路徑字串。比如,前道工序部門,其部門程式碼為PDTE,上級部門為PD生產部,按

SQL Server 查詢樹結構的首節點和尾節點案例

一.建立表 DECLARE @t Table(id CHAR(1),parentId CHAR(1)) INSERT INTO @t values('a','') INSERT INTO @t values('b','a') INSERT INTO @t values('c','b') INSE

c#語言和SQL Server資料庫技術_用組織資料

一.四種完整性約束1.實體完整性約束:不允許出現相同記錄的資料2.域完整性約束:對欄位進行限定,不得插入不符合限定的資料3.引用完整性:表與表之間的關係4.自定義完整性約束:開發人員自己設定對欄位的約束,不允許出現不符合約束的資料二.資料型別 二進位制資料型別 儲存非字元和文字的資料 image 可用來