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
MS SQL Server中数据表、视图、函数/方法、存储过程是否存在判断及创建的更多相关文章
- VFP获取 SQL Server 的数据表、触发器、存储过程、视图等脚本
本文代码转载自红雨先生 *-----------------------------------------------* SqlServer 相关函数*----------------------- ...
- MS SQL SERVER 中的系统表
MS SQL SERVER 中的系统表 序号 名称 说明 备注 1 syscolumns 每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行. 2 syscomments 包含每 ...
- sql server中如何修改视图中的数据?
sql server中如何修改视图中的数据? 我做个测试,视图的数据有标记字段时,如果是这种方式(0 as FlagState),是无法修改的 --创建视图语句 --- create view V_E ...
- 在SQL SERVER中获取表中的第二条数据
在SQL SERVER中获取表中的第二条数据, 思路:先根据时间逆排序取出前2条数据作为一个临时表,再按顺时排序在临时表中取出第一条数据 sql语句如下: select top 1 * from(se ...
- 快速查看SQL Server 中各表的数据量以及占用空间大小
快速查看SQL Server 中各表的数据量以及占用空间大小. CREATE TABLE #T (NAME nvarchar(100),ROWS char(20),reserved varchar(1 ...
- SQL SERVER中用户定义标量函数(scalar user defined function)的性能问题
用户定义函数(UDF)分类 SQL SERVER中的用户定义函数(User Defined Functions 简称UDF)分为标量函数(Scalar-Valued Function)和表值函数(T ...
- Oracle\MS SQL Server Update多表关联更新
原文:Oracle\MS SQL Server Update多表关联更新 一条Update更新语句是不能更新多张表的,除非使用触发器隐含更新.而表的更新操作中,在很多情况下需要在表达式中引用要更新的表 ...
- MS SQL SERVER搜索某个表的主键所在的列名
原文:MS SQL SERVER搜索某个表的主键所在的列名 SELECT SYSCOLUMNS.name FROM SYSCOLUMNS,SYSOBJECTS,SYSINDEXES,SYSINDEX ...
- 显示 Sql Server 中所有表或表中行的信息
在MSSQL中显示某个数据库中所有表或视图的信息: (以下语句为获取所有表信息,将绿色字"U"替换为"V"则获取所有视图信息.) SELECT sysobjec ...
随机推荐
- Centos7下安装mono3.10.0
mono 3.10.0 正式发布:性能进一步改进,以前已经写过一篇 Centos 7.0 安装Mono 3.4 和Jexus 5.6.下面我们在CentOS 7上通过源码安装Mono 3.10, 需 ...
- 使用Gemini构建自己的IDE
你的项目中的领域特定语言是否需要自己的IDE?Visual Studio Shell是选择之一,但是过于庞大不易部署,而且很难使用.Tim Jones的Gemini框架是一个轻量级替代方案. Gemi ...
- UITableView(一)
#import <UIKit/UIKit.h> @interface ViewController : UIViewController<UITableViewDataSource, ...
- Python黑帽编程 2.0 第二章概述
Python黑帽编程 2.0 第二章概述 于 20世纪80年代末,Guido van Rossum发明了Python,初衷据说是为了打发圣诞节的无趣,1991年首次发布,是ABC语言的继承,同时也是一 ...
- (C#)使用NPOI导出Excel
在做业务型的软件时,经常需要将某些数据导出,本文介绍了在Winform或Asp.net中使用NPOI(POI 项目的 .NET 版本)来操作Excel文件,而无需安装Office. 首先,需要获取NP ...
- C#+OpenGL+FreeType显示3D文字(2) - 用GLSL+VBO绘制文字
C#+OpenGL+FreeType显示3D文字(2) - 用GLSL+VBO绘制文字 +BIT祝威+悄悄在此留下版了个权的信息说: 上一篇得到了字形贴图及其位置字典(可导出为XML).本篇就利用此贴 ...
- 微信小程序客服消息使用指南
客服消息使用指南 为丰富小程序的服务能力,提高服务质量,微信为小程序提供客服消息能力,以便小程序用户可以方便快捷地与小程序服务提供方进行沟通. 功能介绍 用户可使用小程序客服消息功能,与小程序的客服人 ...
- JavaScript必须了解的知识点总结。
整理的知识点不全面但是很实用. 主要分三块: (1)JS代码预解析原理(包括三个段落): (2)函数相关(包括 函数传参,带参数函数的调用方式,闭包): (3)面向对象(包括 对象创建.原型链,数据类 ...
- 在Eclipse中对包进行增删改查
package com.hanqi.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.R ...
- 从2-3-4树到红黑树(下) Java与C的实现
欢迎探讨,如有错误敬请指正 如需转载,请注明出处 http://www.cnblogs.com/nullzx/ 相关博客: 从2-3-4树到红黑树(上) 从2-3-4树到红黑树(中) 1. 实现技 ...