MS SQL入门基础:系统表及其用法

1. sysobjects系统表: 在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)都对应一行。
2. syscolumns系统表: 为每个表和视图中的每列返回一行,并为数据库中的存储过程的每个参数返回一行。
3. syscomments系统表: 包含数据库中每个视图、规则、默认值、触发器、CHECK 约束、DEFAULT 约束和存储过程的项。text 列包含原始的 SQL 定义语句。这些语句的最大大小为 4 MB。

 

--判断存储过程是否存在
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[sp_sel_tr_tdt]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
begin
drop PROCEDURE sp_sel_tr_tdt
end


--判断是否存在用户表
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[lc_location]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
begin
--执行操作
end

--判断是否存在系统表
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[lc_location]') and OBJECTPROPERTY(id, N'IsSystemTable') = 1)
begin
--执行操作
end


--判断某一列是否存在用户表里
if exists (select * from syscolumns where name = 'lc_opendate' and id in (select id from dbo.sysobjects where id = object_id(N'[dbo].[lc_location]') and OBJECTPROPERTY(id, N'IsUserTable') = 1))
begin
--执行操作
end

 

你可能感兴趣的:(sql)