T-SQL try catch的使用


IF EXISTS (
	SELECT
		*
	FROM
		sys.databases
	WHERE
		name = 'DBTEST'
)
BEGIN
	PRINT 'DBTEST数据库存在' ;
IF object_id(N'PEOPLE', N'U') IS NOT NULL
BEGIN
	PRINT '表PEOPLE存在' ; --向员工表添加数据
   BEGIN  try
	INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		1,
		3,
		'刘备',
		'男',
		'1984-7-9',
		20000,
		'13554785452',
		'成都',
		getdate()
	) INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		1,
		2,
		'孙尚香',
		'女',
		'1987-7-9',
		15000,
		'13256854578',
		'荆州',
		getdate()
	) INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		1,
		1,
		'关羽',
		'男',
		'1988-8-8',
		12000,
		'13985745871',
		'荆州',
		getdate()
	) INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		2,
		1,
		'张飞',
		'男',
		'1990-8-8',
		8000,
		'13535987412',
		'宜昌',
		getdate()
	) INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		2,
		3,
		'赵云',
		'男',
		'1989-4-8',
		9000,
		'13845789568',
		'宜昌',
		getdate()
	) INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		3,
		3,
		'马超',
		'男',
		'1995-4-8',
		9500,
		'13878562568',
		'香港',
		getdate()
	) INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		3,
		2,
		'黄盖',
		'男',
		'1989-4-20',
		8500,
		'13335457412',
		'武汉',
		getdate()
	) INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		3,
		1,
		'貂蝉',
		'女',
		'1989-4-20',
		6500,
		'13437100050',
		'武汉',
		getdate()
	) INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		2,
		2,
		'曹操',
		'男',
		'1987-12-20',
		25000,
		'13889562354',
		'北京',
		getdate()
	) INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		2,
		3,
		'许褚',
		'男',
		'1981-11-11',
		9000,
		'13385299632',
		'北京',
		getdate()
	) INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		2,
		1,
		'典韦',
		'男',
		'1978-1-13',
		8000,
		'13478545263',
		'上海',
		getdate()
	) INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		1,
		1,
		'曹仁',
		'男',
		'1998-12-12',
		7500,
		'13878523695',
		'深圳',
		getdate()
	) INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		1,
		3,
		'孙坚',
		'男',
		'1968-11-22',
		9000,
		'13698545841',
		'广州',
		getdate()
	) INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		3,
		3,
		'孙策',
		'男',
		'1988-1-22',
		11000,
		'13558745874',
		'深圳',
		getdate()
	) INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		3,
		2,
		'孙权',
		'男',
		'1990-2-21',
		12000,
		'13698745214',
		'深圳',
		getdate()
	) INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		3,
		2,
		'大乔',
		'女',
		'1995-2-21',
		13000,
		'13985478512',
		'上海',
		getdate()
	) INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		2,
		1,
		'小乔',
		'女',
		'1996-2-21',
		13500,
		'13778787874',
		'北京',
		getdate()
	) INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		1,
		2,
		'周瑜',
		'男',
		'1992-10-11',
		8000,
		'13987455214',
		'武汉',
		getdate()
	) INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		2,
		3,
		'鲁肃',
		'男',
		'1984-9-10',
		5500,
		'13254785965',
		'成都',
		getdate()
	) INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		3,
		3,
		'吕蒙',
		'男',
		'1987-5-19',
		8500,
		'13352197364',
		'成都',
		getdate()
	) INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		1,
		1,
		'陆逊',
		'男',
		'1996-5-19',
		7500,
		'13025457392',
		'南京',
		getdate()
	) INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		1,
		2,
		'太史慈',
		'男',
		'1983-6-1',
		7500,
		'13077778888',
		'上海',
		getdate()
	) INSERT INTO People (
		DepartmentId,
		RankId,
		PeopleName,
		PeopleSex,
		PeopleBirth,
		PeopleSalary,
		PeoplePhone,
		PeopleAddress,
		PeopleAddTime
	)
VALUES
	(
		1,
		2,
		'aaaa',
		'男',
		'1983-6-1',
		7500,
		'13077778888',
		'上海',
		getdate()
	)
  end try
  BEGIN catch
       insert  into ExceptionLog  VALUES(CONCAT(ERROR_MESSAGE(),ERROR_LINE(),ERROR_NUMBER()),'FUNCid');
  end catch

END
ELSE

BEGIN
	PRINT '表PEOPLE不存在' ; CREATE TABLE People (
		PeopleId INT PRIMARY KEY IDENTITY (1, 1),
		DepartmentId INT REFERENCES Department (DepartmentId) NOT NULL,
		RankId INT REFERENCES [Rank] (RankId) NOT NULL,
		PeopleName nvarchar (50) NOT NULL,
		PeopleSex nvarchar (1) DEFAULT ('男') CHECK (
			PeopleSex = '男'
			OR PeopleSex = '女'
		) NOT NULL,
		PeopleBirth datetime NOT NULL,
		PeopleSalary DECIMAL (12, 2) CHECK (
			PeopleSalary >= 1000
			AND PeopleSalary <= 100000
		) NOT NULL,
		PeoplePhone nvarchar (20) UNIQUE NOT NULL,
		PeopleAddress nvarchar (100),
		PeopleAddTime smalldatetime DEFAULT (getdate())
	)
END
END
ELSE

BEGIN
	PRINT 'DBTEST数据库不存在' ;
END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值