sql - 如何在 SQL Server 上进行自省(introspection)?

标签 sql sql-server-2005 schema introspection

我有一个带有供应商应用程序的服务器,该应用程序严重依赖数据库。我需要以自动方式对数据库中几个表中的数据进行一些小的更改。只是插入和更新,没什么特别的。供应商是供应商,我永远无法确定他们在升级期间何时更改数据库的架构。

为此,我如何以某种可编写脚本的方式询问 SQL 服务器,“嘿,这个表还存在吗?是的,很酷,好的,但是它有这个列吗?它的数据类型和大小是什么?是吗?可以为空吗?你能给我一个表的列表吗?在这个表中,你能给我一个列的列表吗?那里有任何主键吗?我不需要对整个架构执行此操作,只需其中一部分,只需在启动之前快速检查数据库即可。

我们目前有 Microsoft SQL Server 2005,但它可能很容易迁移到 Microsoft SQL Server 2008。搜索时我可能没有使用正确的术语。 我确实知道 ORM 不仅对于这类事情来说开销太大,而且我也没有机会向我的同事推销它。

最佳答案

关于sql - 如何在 SQL Server 上进行自省(introspection)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2835102/

相关文章:

java - 带增量运算符的动态 MySQL 查询

mysql - WHERE 附近的 SQL 查询语法错误

sql - 在临时公用表表达式中添加自增列

sql-server-2005 - 如何购买用于 SQL Server 2005 的 SSL 证书

.net - 使用 SqlBulkCopy,如何将数据插入非默认数据库模式的表中?

mysql - SQL 电源架构师

SQL如何连接具有不同列和连接的两个查询

sql-server - DATE 类型不是定义的系统类型

mysql - 健身类(class)预订系统的数据库模式

java - 获取 xs :choice maxOccurs and minOccurs attributes with XSOM