[SQL Server] 常用sql脚本
1、添加表
GO
IF NOT EXISTS(SELECT * FROM sys.tables WHERE name='table_name')
BEGIN
CREATE TABLE [dbo].[table_name]()
END
GO
2、添加列
1)IF NOT EXISTS(SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('table_name') AND name = 'column_name')
AND EXISTS(SELECT * FROM sys.tables WHERE object_id = OBJECT_ID('table_name'))
BEGIN
ALTER TABLE table_name ADD column_name column_type
END
2) GO
IF(NOT EXISTS(SELECT * FROM sys.columns s WHERE s.name = 'column_name' AND s.id = OBJECT_ID('table_name')))
ALTER TABLE table_name ADD column_name column_type
GO
3、删除列
GO
IF EXISTS(SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('table_name') AND name = 'column_name')
BEGIN
ALTER TABLE table_name DROP COLUMN column_name
END
GO
4、表字段改名
GO
IF EXISTS (SELECT 1 FROM sys.columns WHERE [object_id] = OBJECT_ID('table_name') AND [name] = 'old_column_name')
BEGIN
EXEC sys.sp_rename @objname = 'table_name.old_column_name' @newname = 'new_column_name' @objtype = 'COLUMN'
END
GO
5、创建视图
IF EXISTS ( SELECT *
FROM sys.views
WHERE object_id = OBJECT_ID(N'[dbo].[VIEW_NAME]'))
DROP VIEW [dbo].[VIEW_NAME]
GO
CREATE VIEW [dbo].[VIEW_NAME]
AS
SELECT A.xx,
B.xx,
C.xx
FROM TABLE_A A
LEFT JOIN TABLE_B B ON B.xx = A.xx
LEFT JOIN TABLE_C C ON C.xx = A.xx
WHERE a.xx = xx
GO
6、创建函数
GO
IF OBJECT_ID(N'FUNCTION_NAME') IS NOT NULL
DROP FUNCTION FUNCTION_NAME
GO
CREATE FUNCTION [dbo].[FUNCTION_NAME] (@parameterIn parametertype)
RETURNS Returntype --例如:RETURNS NVARCHAR(500)
AS
BEGIN
DECLARE @parameter parametertype
SET @parameter = (SELECT COLUMN FROM TABLE WHERE COLUMN = @parameterIn)
RETURN @parameter
END
GO
调用函数 SELECT [dbo].[FUNCTION_NAME] (parameterIn)
7、修改字段的类型
GO
IF EXISTS (SELECT 1 FROM sys.columns WHERE [object_id] = OBJECT_ID('table_name') AND [name] = 'column_name')
BEGIN
ALTER TABLE table_name ALTER COLUMN column_name type
END
GO
[SQL Server] 常用sql脚本的更多相关文章
- SQL Server常用SQL集合
================================================ 1.SQL查询一年之内的数据记录 select * from 表名 where CreateDate& ...
- SQL Server 常用SQL
--查询所有表 select * from sysobjects where xtype='u' ORDER BY name ASC
- sql server 常用sql语句
--删除约束 alter table productInfo drop constraint 约束名称 --删除列alter table productInfo drop column 列名 --添加 ...
- sql server 常用的系统存储过程
系统存储过程 说明 sp_databases 列出服务上的所有数据库 sp_helpdb 报告有关指定数据库或所有数据库的信息 sp_renamedb 更改数据库的名称 sp_tables 返回当 ...
- sql server编写通用脚本自动统计各表数据量心得
工作过程中,如果一个数据库的表比较多,手工编写统计脚本就会比较繁琐,于是摸索出自动生成各表统计数据量脚本的通用方法,直接上代码: /* 脚本来源:https://www.cnblogs.com/zha ...
- SQL SERVER常用语法记录
用于记录SQL SERVER常用语法,以及内置函数. 以下语句包含: WITH 临时表语法 ROW_NUMBER()内置函数,我一般主要是用来分页.针对于查出来的所有数据做一个数字排序 分页的BETW ...
- SQL SERVER常用语法汇总
阅读目录 一.SQL分类 二.基础语句 三.sql技巧 四.(MS SQL Server)SQL语句导入导出大全 回到目录 一.SQL分类 DDL—数据定义语言(CREATE,ALTER,DROP,D ...
- sql server常用性能计数器
https://blog.csdn.net/kk185800961/article/details/52462913?utm_source=blogxgwz5 https://blog.csdn.ne ...
- SQL Server经典sql语句大全(转)
一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数 ...
随机推荐
- POJ2393 Yogurt factory 【贪心】
Yogurt factory Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6821 Accepted: 3488 De ...
- 是否能重拾Linux下Init 3的快感?
对于Windows大多数程序猿(眼下).是否非常怀念Linux下全字符界面的炫酷与优越感? 是否仍然停留在cmd后,将文件拖到dos下简单的操作呢?以下是近期研究在Windows下用全命令行的方 ...
- sqlserver 触发器实例代码
定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序.触发器是一个特殊的存储过程. 常见的触发器有三种:分别应用于Insert , Update ...
- NodeJs函数式编程
虽然标题是NodeJS函数式编程,但实际上NodeJS 是一个框架,不是一种语言,其采用的语言是 JavaScript.而JavaScript是一种典型的多范式编程语言,算不上是函数式语言,但它有函数 ...
- bzoj 2333 [SCOI2011]棘手的操作 —— 可并堆
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2333 稍微复杂,参考了博客:http://hzwer.com/5780.html 用 set ...
- IOException 简单解决方法
java.lang.IllegalStateException异常解决方法 这个异常大多数是由文件读取,下载时抛出,但是偶尔也会由类型转换时异常抛出此异常. 错误:Optional int param ...
- cogs750栅格网络流(最小割)
750. 栅格网络流 ★★☆ 输入文件:flowa.in 输出文件:flowa.out 简单对比时间限制:1 s 内存限制:128 MB [问题描述] Bob 觉得一般图的最大流问题太 ...
- ASP.NET MVC5 之路由器
这篇博客介绍的很详细 http://www.cnblogs.com/yaozhenfa/p/asp_net_mvc_route_1.html
- android ListView,GridView 设置某一项显示位置
在项目中有时会用到,当使用 listview 想让它显示某一项,当它又不在前面的位置,可以 使用 //让某一项显示出来(否则可能不在当前) listview.setSelection(positio ...
- c# winform控件dock属性停造位置、摆放顺序详解
dock : [英文释义- 码头.依靠][winform释义- 获取或设置当前控件依靠到父容器的哪一个边缘.] 用途:多数控件都有这个属性,主要用来设置控件的布局. 但对于不太了解这个属性的朋友来说有 ...