Sql server中关于判断表,存储过程或者列是否存在的语句

  先把参考备注:

sys.objects介绍:

https://www.cnblogs.com/atree/p/sql-server-sysobjects.html

关于sys.objects(object_id)和sysobjects(id)

https://dba.stackexchange.com/questions/193505/making-sense-of-sys-objects-sys-system-objects-and-sys-sysobjects

各种判断:

https://www.cnblogs.com/gossip/archive/2011/04/10/2011489.html

https://blog.csdn.net/smartsmile2012/article/details/78529510

更好的方法:

https://stackoverflow.com/questions/5952006/check-if-table-exists-and-if-it-doesnt-exist-create-it-in-sql-server-2008

查看sqlserver数据库有哪些表可以使用以下sql语句:

select name from sysobjects where xtype='u';

或者select * from sys.tables;

或者SELECT * FROM INFORMATION_SCHEMA.TABLES;

1、方法一

SELECT * FROM INFORMATION_SCHEMA.columns WHERE TABLE_NAME='表名' 

2、方法二

select a.name tablename, b.name colName, c.name colType ,c.length colLength

from sysobjects a inner join syscolumns b
on a.id=b.id and a.xtype='U'
inner join systypes c
on b.xtype=c.xusertype

where a.name='表名'

猜你喜欢

转载自www.cnblogs.com/dusf/p/12306185.html
今日推荐