SQL Server2019数据库查询所有数据库名表名表结构表字段主键方法演示,执行sql提示对象名‘user_tab_columns‘ ‘user_cons_columns‘ 无效问题解决

Posted 挣扎的蓝藻

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server2019数据库查询所有数据库名表名表结构表字段主键方法演示,执行sql提示对象名‘user_tab_columns‘ ‘user_cons_columns‘ 无效问题解决相关的知识,希望对你有一定的参考价值。

SQL Server2019 数据库查询所有数据库名、表名、表结构、表字段、主键方法演示

第一章:查询方法

对象名 'user_tab_columns''user_cons_columns' 都属于 oracle 数据库里的,sqlserver 里没有,所以使用会报错。

① 查询所有数据库名

SQL 语句示例:

-- 查询所有数据库名
select name as '数据库名' 
from master..sysdatabases;

查询效果展示:

② 查询所有表名方法

SQL 语句示例:

-- 查询所有表名
select name as '表名' 
from sysobjects 
where xtype='U';

查询效果展示:

③ 查询表结构、表字段方法

SQL 语句示例:

-- 查询表结构、表字段
select * from information_schema.columns where table_name = 'SM_USERGROUP';

查询效果展示:

④ 查询主键方法

SQL 语句示例:

-- 查询表主键
select table_name as '表名', column_name as '主键' 
from information_schema.key_column_usage 
where table_name = 'SM_USERGROUP';

查询效果展示:

第一章:报错信息

① 对象名 ‘user_cons_columns’ 无效

使用 oracle 的对象名会报错。

com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 'user_cons_columns' 无效。
	at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:254)
	at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1608)
	at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:859)
	at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:759)
	at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7240)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2869)
	at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:243)
	at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:218)
	at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery(SQLServerStatement.java:688)

喜欢的点个赞❤吧!

以上是关于SQL Server2019数据库查询所有数据库名表名表结构表字段主键方法演示,执行sql提示对象名‘user_tab_columns‘ ‘user_cons_columns‘ 无效问题解决的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server查询所有数据库下模式名

sqlserver 如何获得所有数据库名 如何获得已知数据库所有表名 和 已知表明获得所有字段名和字段类型

sql server2008怎么实现查询某个数据库中所有的表名

sql server2008如何查询在指定的数据库中所有的表名和每个表的字段名及字段类型

sql server 2008 查询表名前面必须添加数据库名吗

sql中怎么查询另外一个数据库里的所有表