批处理
批处理是指从应用程序一次性地发送一组完整SQL语句到SQL Server上执行
批处理的所有语句被当作一个整体,被成批地分析,编译和执行
所有的批处理指令以go作为结束标志
go的特点
go语句必须自成一行,只有注释可以在同一行上
每个批处理单独发送到服务器
go语句不是T-SQL命令
--批处理的特点
--1)自成一行
use E_Market
go --go同一行前面能有T—SQL语句,go同一行后面可以直接重新开始一个批处理,但是这样的话会影响可读性
--总结:之前不能有T—SQL语句,之后有T—SQL语句严重影响可读性,所以GO要独占一行的
--2)每个批处理单独发送到服务器去执行,一个批处理出错不会影响另外的一个批处理
select 1/0
go
--第一个批处理的结束
select 0/1
go
--两个批处理同时执行一个批处理出错不会影响第二个批处理的执行,因为每个批处理都是单独发送到服务器去执行的
--3)go是批处理结束的标志,但不是T-SQL命令,是被Management Studio所识别的命令
--批处理的应用
--在什么情况下会用到批处理
--在sql脚本中的一些事情必须发生在另外一件事情之前,或者是分开发生的时候,这个时候就需要批处理
use master
if exists(select * from sysdatabases where name='TestTable')
create database TestDB
on primary
(
name='TestDB_data',
filename='D:\project\TestDB_data.mdf',
size=5mb
)
log on
(
name='TestDB_log',
filename='D:\project\TestDB_log.ldf',
size=5mb
)
--创建一张表TestTable
go --加批处理go
use TestDB
go
create table TestTable
(
UId int,
UName varchar(20)
)
--执行上面的创建数据库及数据表发现数据表不在新创建的数据库中
--原因是创建表的时候看一下当前所操作的数据库是谁
--当前的操作数据库是E_Market,所以就创建到了E_Market中
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步