为什麼SQL 总要以 if exits(SELECT * FROM sys.objects 开头

来源:百度知道 编辑:UC知道 时间:2024/06/01 05:26:26
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tb1]') AND type in (N'U'))
为什麼数据库都用这个开头呢?
我知道他大概意思,但是不明白?为什麼用sys.objects 为什麼要这样用?

sys.objects 是系统对象 system object的称呼
在查找字段的时候可以select .. from 表
但是要查找表名,只有在系统对象里面找
IF NOT EXISTS
是检查是否对象存在
如果存在,你可以删除再建,由自己决定
这样做只是为了防止对象名称相同起冲突早场不必要的麻烦,
如果没有重复的现象,
这段代码也可以不要!

sysobjects是系统对象,是用来判断数据库是否存在的