zoukankan      html  css  js  c++  java
  • MS SQL Server中数据表、视图、函数/方法、存储过程是否存在判断及创建

    前言

    在操作数据库的时候经常会用到判断数据表、视图、函数/方法、存储过程是否存在,若存在,则需要删除后再重新创建。以下是MS SQL Server中的示例代码。

    数据表(Table)

    创建数据表的时候判断数据表是否存在,若存在则删除,会经常使用,特别是初始化的时候。

    --方法一
    /*判断数据表是否存在,若存在则删除数据表*/
    IF EXISTS (SELECT * FROM sys.objects WHERE name = 'Table_Name') DROP TABLE Table_Name;
    GO
    --创建数据表
    CREATE TABLE Table_Name
    (
    	Id INT PRIMARY KEY NOT NULL
    )
    
    --方法二
    /*判断数据表是否存在,若存在则删除数据表*/
    IF EXISTS (SELECT * FROM dbo.sysobjects WHERE name = 'Table_Name') DROP VIEW Table_Name;
    GO
    --创建数据表
    CREATE TABLE Table_Name
    (
    	Id INT PRIMARY KEY NOT NULL
    )
    

    视图(View)

    创建视图的时候判断视图是否存在,若存在则删除,会经常使用,特别是视图更改过后。

    --方法一
    /*判断视图是否存在,若存在则删除视图*/
    IF EXISTS (SELECT * FROM sys.views WHERE name = 'View_Name') DROP VIEW View_Name 
    GO
    --创建视图
    CREATE VIEW View_Name AS
    	SELECT SELECT * FROM table_name
    GO
    
    --方法二
    /*判断视图是否存在,若存在则删除视图*/
    IF EXISTS (SELECT * FROM sys.objects WHERE name = 'View_Name') DROP VIEW View_Name;
    GO
    --创建视图
    CREATE VIEW View_Name AS
    	SELECT SELECT * FROM table_name
    GO
    
    --方法三
    /*判断视图是否存在,若存在则删除视图*/
    IF EXISTS (SELECT * FROM dbo.sysobjects WHERE name = 'View_Name') DROP VIEW View_Name;
    GO
    --创建视图
    CREATE VIEW View_Name AS
    	SELECT SELECT * FROM table_name
    GO
    

    函数/方法(Function)

    创建函数/方法的时候判断函数/方法是否存在,若存在则删除,会经常使用,特别是函数/方法更改过后。

    --方法一
    /*判断函数/方法是否存在,若存在则删除函数/方法*/
    IF EXISTS (SELECT * FROM sys.objects WHERE name = 'Func_Name') DROP FUNCTION Func_Name;
    GO
    --创建存储过程
    CREATE FUNCTION Func_Name
    (
    	@a INT
    )
    RETURN INT
    AS
    BEGIN
    --coding
    END
    GO
    
    --方法二
    /*判断函数/方法是否存在,若存在则删除函数/方法*/
    IF EXISTS (SELECT * FROM dbo.sysobjects WHERE name = 'Func_Name') DROP FUNCTION Func_Name;
    GO
    --创建函数/方法
    CREATE FUNCTION Func_Name
    (
    	@a INT
    )
    RETURN INT
    AS
    BEGIN
    --coding
    END
    GO
    

    存储过程(Procedure)

    创建存储过程的时候判存储过程是否存在,若存在则删除,会经常使用,特别是存储过程更改过后。

    --方法一
    /*判断存储过程是否存在,若存在则删除存储过程*/
    IF EXISTS (SELECT * FROM sys.objects WHERE name = 'Proc_Name') DROP PROC Proc_Name;
    GO
    --创建存储过程
    CREATE PROC Proc_Name
    AS SELECT * FROM Table_Name
    GO
    
    --方法二
    /*判断存储过程是否存在,若存在则删除存储过程*/
    IF EXISTS (SELECT * FROM dbo.sysobjects WHERE name = 'Proc_Name') DROP PROC Proc_Name;
    GO
    --创建存储过程
    CREATE PROC Proc_Name
    AS SELECT * FROM Table_Name
    GO
    
    --方法三
    /*判断存储过程是否存在,若存在则删除存储过程*/
    IF EXISTS (OBJECT_NAME('Proc_Name','P') IS NOT NULL DROP PROC Proc_Name;
    GO
    --创建存储过程
    CREATE PROC Proc_Name
    AS SELECT * FROM Table_Name
    GO
    
  • 相关阅读:
    MFC Windows 程序设计>WinMain 简单Windows程序 命令行编译
    AT3949 [AGC022D] Shopping 题解
    CF643D Bearish Fanpages 题解
    CF643C Levels and Regions 题解
    CF241E Flights 题解
    CF671C Ultimate Weirdness of an Array 题解
    CF1592F Alice and Recoloring 题解
    GYM 102452E 题解
    CF494C Helping People 题解
    P5556 圣剑护符
  • 原文地址:https://www.cnblogs.com/seayxu/p/mssql-object-is-exist.html
Copyright © 2011-2022 走看看