SQL SERVER 那点事
温故而知新
一.创建数据库
USE MASTER; GO IF EXISTS(SELECT *
FROM sys.databases
WHERE [name] = 'student')
BEGIN
ALTER DATABASE student SET SINGLE_USER WITH ROLLBACK IMMEDIATE IF Db_id('student') IS NOT NULL
DROP DATABASE student
END
ELSE
BEGIN
CREATE DATABASE student ON PRIMARY ( NAME=N'student', FILENAME=N'D:\ApplicationData\SQLSERVER\student.mdf', SIZE=5MB, MAXSIZE=UNLIMITED, FILEGROWTH=15% ) LOG ON ( NAME=N'student_log', FILENAME=N'D:\ApplicationData\SQLSERVER\student_log.mdf', SIZE=2MB, MAXSIZE=20MB, FILEGROWTH=1MB ) WITH CATALOG_COLLATION = DATABASE_DEFAULT
END GO
二.创建表
USE student;
GO
IF EXISTS(SELECT *
FROM sys.objects
WHERE [name] = 'studentInfo')
BEGIN
DROP TABLE studentInfo;
END
GO
CREATE TABLE studentInfo
(
stuId INT PRIMARY KEY IDENTITY(1, 1),
stuName NVARCHAR(20) NOT NULL,
stuPhone NVARCHAR(15) UNIQUE,
stuSex NVARCHAR(2) CHECK(stuSex='男' OR stuSex='女'),
stuAddress NVARCHAR(50) DEFAULT('China') )
GO
三.创建存储过程
IF EXISTS(SELECT * FROM sys.procedures WHERE [name]='procedure_name')
BEGIN
DROP PROCEDURE [procedure_name]
END
GO
CREATE PROCEDURE [procedure_name]
AS
BEGIN
INSERT studentInfo(stuName,stuPhone,stuSex) VALUES('Robin',110,'男');
UPDATE studentInfo SET stuPhone='' WHERE stuName='Robin';
END
GO
四.创建视图
USE student;
GO
CREATE VIEW VIEW_NAME
AS
SELECT * FROM studentInfo;
GO
五.创建索引
USE student GO IF EXISTS(SELECT *
FROM sys.indexes
WHERE [name] = 'INDEX_NAME')
DROP INDEX INDEX_NAME ON studentInfo CREATE NONCLUSTERED INDEX INDEX_NAME
ON studentInfo(stuName)
WITH FILLFACTOR=30 GO
六.创建触发器
IF EXISTS(SELECT *
FROM sys.triggers
WHERE name = 'TRIGGER_NAME')
DROP TRIGGER TRIGGER_NAME GO CREATE TRIGGER TRIGGER_NAME
ON studentInfo
FOR DELETE
AS
BEGIN
PRINT '删除'
END
七.创建标量函数
USE student; GO IF EXISTS(SELECT *
FROM sys.objects
WHERE type = 'FN'
AND [name] = 'FUNCTION_NAME')
DROP FUNCTION dbo.FUNCTION_NAME GO CREATE FUNCTION dbo.Function_name (@stuId INT)
RETURNS INT
AS
BEGIN
DECLARE @COUNT INT SELECT @COUNT = Count(*)
FROM studentInfo RETURN @COUNT
END GO
八.创建表值函数
USE student; GO IF EXISTS(SELECT *
FROM sys.objects
WHERE type = 'IF'
AND [name] = 'FUNCTION_NAME')
DROP FUNCTION dbo.FUNCTION_NAME GO CREATE FUNCTION dbo.Fnuction_name (@stuId INT)
RETURNS TABLE
AS
RETURN
(SELECT *
FROM studentInfo) GO
九.声明游标
DECLARE @STUID INT
DECLARE STU_CURSOR CURSOR FOR
SELECT stuId
FROM studentInfo OPEN STU_CURSOR FETCH NEXT FROM STU_CURSOR INTO @STUID WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE studentInfo
SET stuPhone = ''
WHERE stuId = @STUID PRINT @STUID FETCH NEXT FROM STU_CURSOR INTO @STUID
END CLOSE STU_CURID DEALLOCATE STU_CURSOR GO
SQL SERVER 那点事的更多相关文章
- 【转贴】SQL Server中关于跟踪(Trace)那点事
SQL Server中关于跟踪(Trace)那点事 https://www.cnblogs.com/zhijianliutang/p/4113911.html 作者很牛B.. 前言 一提到跟踪俩字,很 ...
- SQL Server自动化运维系列——关于邮件通知那点事(.Net开发人员的福利)
需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 邮件作为一种非常便利的预警实现方式,在及时性和易用性 ...
- SQL Server中关于跟踪(Trace)那点事
前言 一提到跟踪俩字,很多人想到警匪片中的场景,同样在我们的SQL Server数据库中“跟踪”也是无处不在的,如果我们利用好了跟踪技巧,就可以针对某些特定的场景做定向分析,找出充足的证据来破案. 简 ...
- 【转】SQL Server中关于跟踪(Trace)那点事
前言 一提到跟踪俩字,很多人想到警匪片中的场景,同样在我们的SQL Server数据库中“跟踪”也是无处不在的,如果我们利用好了跟踪技巧,就可以针对某些特定的场景做定向分析,找出充足的证据来破案. 简 ...
- SQL Server 文件自动增长那些事
方法 1. 把文件的增长设置为按照固定大小增长. 如filegrowth = 100MB; ------------------------------------------------------ ...
- SQL Server中关于跟踪(Trace)那点事(转载)
前言 一提到跟踪俩字,很多人想到警匪片中的场景,同样在我们的SQL Server数据库中“跟踪”也是无处不在的,如果我们利用好了跟踪技巧,就可以针对某些特定的场景做定向分析,找出充足的证据来破案. 简 ...
- SQL SERVER 无法正常连接的那些事
1.确保sqlserver服务正常运行. >一般可以从两个地方控制服务,一是系统自带的服务管理器,最快捷的方式是运行“services.msc”,二是使用sqlserver自带的“SQL Ser ...
- ASP.NET Core 中文文档 第二章 指南(4.5)使用 SQL Server LocalDB
原文:Working with SQL Server LocalDB 作者:Rick Anderson 翻译: 魏美娟(初见) 校对: 孟帅洋(书缘).张硕(Apple).许登洋(Seay) Appl ...
- Unity3d连接SQL Server数据库出现SocketException: 使用了与请求的协议不兼容的地址错误
这两天,同学问我Unity3d连接SQL Server的问题,当时我只是简单的说:“应该一样吧,就是那简单的几句啊”.之后他让我试了下,我才发现有问题了.故此写下一篇博客,要牢记这件事的教训,操作数据 ...
随机推荐
- mysql5.6配置文件详解(一)
mysqld Ver 5.6.11 for Linux on x86_64 (Source distribution)Copyright (c) 2000, 2013, Oracle and/or ...
- effective-java学习笔记---注解优于命名模式39
命名模式的缺点有以下三点:(在第 4 版之前,JUnit 测试框架要求其用户通过以 test[Beck04] 开始名称来指定测试方法) 1.拼写错误导致失败,但不会提示. 2.无法确保它们仅用于适当的 ...
- 《利用Hyper-V搭建虚拟机》一篇管够,持续更新
开门见山:win10+Hyper-V+ContOS7.X 万物皆有目的:没钱买云服务器,但平时在家想持续学习,可以考虑在自己windows上搭建一台虚拟机,然后装上Linux,调试通网络进行开发. 涉 ...
- 一篇让你明白什么是浏览器BOM方法的笔记
BOM Browser Object Model 浏览器对象模型 虚拟机 ,任何语言编辑的程序都需要一个虚拟机来执行.如果脱离这个环境就无法运行. 浏览器就是一种虚拟机.用来解析html语言 同一款浏 ...
- python基础-深浅拷贝
深拷贝与浅拷贝 总结: # 浅拷贝:list dict: 嵌套的可变数据类型是同一个 # 深拷贝:list dict: 嵌套的不可变数据类型彼此独立 浅拷贝 # 个人理解: # 在内存中重新创建一个空 ...
- 001_Chrome 76支持原生HTML 图片懒加载Lazy loading
Table Of Content 什么是懒加载? 语法参数及使用方式? 有哪些特点? 与js有关的实践 什么是懒加载? 技术背景 Web应用需要经常向后台服务器请求资源(通过查询数据库,是非常耗时耗资 ...
- 【网络安全】——客户端安全(浏览器安全、XSS、CSRF、Clickjacking)
近在学习网络安全相关的知识,于是先从业内一本系统讲Web安全的书<白帽子讲Web安全>系统学习Web安全的相关知识.在此整理书中的知识层次,不求详尽,只求自己对整个Web安全梗概有所了 ...
- CentOS 6.5系统实现NFS文件共享
一台Linux server ip 192.168.1.254,一台Linux client ip 192.168.1.100操作系统:CentOS 6.5需求描述:1:将/root 共享给192.1 ...
- python中使用163邮箱发送邮件一直报错的问题,谁能解决(已经各种百度完了,没能解决问题)
1.报错如下: 2.代码如下:
- Alpha测试与Beta测试
粗略说一下Alpha测试与beta测试 1.Alpha测试 α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试.α测试的目的是评价软件产品的功能.局域化.可 ...