如何得到SQLSERVER中的所有数据库,及数据库中的表呀??? 如何得到SQLSERVER中的所有数据库,及数据库中的表呀???那位作过,给个代码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用Master.数据库的Sysobjects表可以得到数据库中所有表with adoquery dobegin active := false sql.clear; sql.add('select name from sysobjects'); active := true;end; sp_databases 列出驻留在 Microsoft® SQL Server™ 实例中的数据库或可以通过数据库网关访问的数据库。 语法 sp_databases 返回代码值 无 结果集 列名 数据类型 描述 DATABASE_NAME sysname 数据库的名称。在 SQL Server 中,此列代表存储在 sysdatabases 系统表中的数据库的名称。 DATABASE_SIZE int 数据库的大小(以 KB 计)。 REMARKS varchar(254) 对于 SQL Server,该字段的返回值为 NULL。 注释 在 SQL Server 中,sp_databases 返回在 sysdatabases 系统表中列出的数据库。由于数据库网关所访问的一些数据库管理系统 (DBMS) 没有数据库概念,所以如果发送到基于 Microsoft 开放式数据服务的网关,该存储过程可能不返回任何行。 所返回的数据库名称可以作为 USE 语句的参数,用来更改当前数据库上下文。 sp_databases 在开放式数据库连接 (ODBC) 中没有等价的过程。 权限 执行权限默认授予 public 角色。 ************************************************************ sp_tables 返回当前环境下可查询的对象的列表(任何可出现在 FROM 子句中的对象)。 语法 sp_tables [ [ @table_name = ] 'name' ] [ , [ @table_owner = ] 'owner' ] [ , [ @table_qualifier = ] 'qualifier' ] [ , [ @table_type = ] "type" ] 参数 [@table_name =] 'name' 用来返回目录信息的表。name 的数据类型为 nvarchar(384),默认值为 NULL。支持通配符模式匹配。 [@table_owner =] 'owner' 用来返回目录信息的表的所有者。owner 的数据类型为 nvarchar(384),默认值为 NULL。支持通配符模式匹配。如果没有指定 owner,则采用基础 DBMS 默认的表可视性规则。 在 Microsoft® SQL Server™ 中,如果当前用户拥有的表具有指定名称,则返回该表的列。如果未指定所有者,且当前用户未拥有指定名称的表,则该过程查找由数据库所有者拥有的具有指定名称的表。如果有,则返回该表的列。 [@table_qualifier =] 'qualifier' 是表限定符的名称。qualifier 的数据类型为 sysname,默认设置为 NULL。多种 DBMS 产品支持表的三部分命名方式 (qualifier.owner.name)。在 SQL Server 中,该列表示数据库名。在某些产品中,该列表示表所在数据库环境的服务器名。 [,[@table_type =] "'type'"] 值的列表,由逗号分隔,它给出指定表类型的所有表的有关信息,包括 TABLE、SYSTEM TABLE 和 VIEW。type 的数据类型为 varchar(100),默认值为 NULL。 说明 每个表类型都必须用单引号括起来,整个参数必须用双引号括起来。表类型必须大写。如果 SET QUOTED_IDENTIFIER 为 ON,那么每个单引号必须换成双引号,整个参数必须用单引号括起来。 返回代码值 无 结果集 列名 数据类型 描述 TABLE_QUALIFIER sysname 表限定符名称。在 SQL Server 中,该列表示数据库名。该字段可以为 NULL。 TABLE_OWNER sysname 表所有者名称。在 SQL Server 中,该列表示创建表的数据库用户的姓名。该字段始终返回值。 TABLE_NAME sysname 表名。该字段始终返回值。 TABLE_TYPE varchar(32) 表、系统表或视图。 REMARKS varchar(254) SQL Server 不为该列返回值。 注释 为达到最大互操作性,网关客户应假定只有 SQL-92 标准的 SQL 模式匹配(% 和 _ 通配符)。 并不总是检验有关当前用户对特定表的读写特权信息,因此不能确保访问。这个结果集不仅包含表和视图,还包含网关的同名和别名,这些网关通往支持这些类型的 DBMS 产品。如果在 sp_server_info 的结果集中,服务器特性 ACCESSIBLE_TABLES 是 Y,则只返回当前用户可访问的表。 sp_tables 与 ODBC 中的 SQLTables 等同。返回结果按 TABLE_TYPE、TABLE_QUALIFIER、TABLE_OWNER 和 TABLE_NAME 顺序排列。 权限 执行权限默认授予 public 角色。 示例 A. 返回可在当前环境中查询的对象的列表 EXEC sp_tables B. 返回 Company 数据库中表 syscolumns 的有关信息 EXEC sp_tables syscolumns, dbo, Company, "'SYSTEM TABLE'" select * from sysobjects where xtype='u'select * from syscolumns where id=当前表的idselect * from sysTypes where xtype=当前syscolumns 的xtype的id 【忧闷】:被一个简单的问题困扰了几天! 大家来看看 如何真正的在内存中直接运行可执行文件? 再次提问,有关创建一个窗口的问题!解决此问题另开贴500分! 为什么Delphi编写的COM组件在其它语言里不能调用? 解释一下 如下的代码。 大家把开发环境下的快捷键总结一下 100分!问个才鸟问题!up有分! 怎样使用模糊查询! 请各路大侠援手,帮小弟推荐一二本delphi的入门书 如何用delphi xe7修改win7系统用户账户名称 有个流程图文件,扩展名是VSD,不知道用什么程序打开?? 怎么对摄像头拍摄到的图象进行视频实时压缩?
with adoquery do
begin
active := false
sql.clear;
sql.add('select name from sysobjects');
active := true;
end;
列出驻留在 Microsoft® SQL Server™ 实例中的数据库或可以通过数据库网关访问的数据库。
语法
sp_databases
返回代码值
无
结果集
列名 数据类型 描述
DATABASE_NAME sysname 数据库的名称。在 SQL Server 中,此列代表存储在 sysdatabases 系统表中的数据库的名称。
DATABASE_SIZE int 数据库的大小(以 KB 计)。
REMARKS varchar(254) 对于 SQL Server,该字段的返回值为 NULL。
注释
在 SQL Server 中,sp_databases 返回在 sysdatabases 系统表中列出的数据库。由于数据库网关所访问的一些数据库管理系统 (DBMS) 没有数据库概念,所以如果发送到基于 Microsoft 开放式数据服务的网关,该存储过程可能不返回任何行。
所返回的数据库名称可以作为 USE 语句的参数,用来更改当前数据库上下文。
sp_databases 在开放式数据库连接 (ODBC) 中没有等价的过程。
权限
执行权限默认授予 public 角色。
************************************************************
sp_tables
返回当前环境下可查询的对象的列表(任何可出现在 FROM 子句中的对象)。
语法
sp_tables [ [ @table_name = ] 'name' ]
[ , [ @table_owner = ] 'owner' ]
[ , [ @table_qualifier = ] 'qualifier' ]
[ , [ @table_type = ] "type" ]
参数
[@table_name =] 'name'
用来返回目录信息的表。name 的数据类型为 nvarchar(384),默认值为 NULL。支持通配符模式匹配。
[@table_owner =] 'owner'
用来返回目录信息的表的所有者。owner 的数据类型为 nvarchar(384),默认值为 NULL。支持通配符模式匹配。如果没有指定 owner,则采用基础 DBMS 默认的表可视性规则。
在 Microsoft® SQL Server™ 中,如果当前用户拥有的表具有指定名称,则返回该表的列。如果未指定所有者,且当前用户未拥有指定名称的表,则该过程查找由数据库所有者拥有的具有指定名称的表。如果有,则返回该表的列。
[@table_qualifier =] 'qualifier'
是表限定符的名称。qualifier 的数据类型为 sysname,默认设置为 NULL。多种 DBMS 产品支持表的三部分命名方式 (qualifier.owner.name)。在 SQL Server 中,该列表示数据库名。在某些产品中,该列表示表所在数据库环境的服务器名。
[,[@table_type =] "'type'"]
值的列表,由逗号分隔,它给出指定表类型的所有表的有关信息,包括 TABLE、SYSTEM TABLE 和 VIEW。type 的数据类型为 varchar(100),默认值为 NULL。
说明 每个表类型都必须用单引号括起来,整个参数必须用双引号括起来。表类型必须大写。如果 SET QUOTED_IDENTIFIER 为 ON,那么每个单引号必须换成双引号,整个参数必须用单引号括起来。
返回代码值
无
结果集
列名 数据类型 描述
TABLE_QUALIFIER sysname 表限定符名称。在 SQL Server 中,该列表示数据库名。该字段可以为 NULL。
TABLE_OWNER sysname 表所有者名称。在 SQL Server 中,该列表示创建表的数据库用户的姓名。该字段始终返回值。
TABLE_NAME sysname 表名。该字段始终返回值。
TABLE_TYPE varchar(32) 表、系统表或视图。
REMARKS varchar(254) SQL Server 不为该列返回值。
注释
为达到最大互操作性,网关客户应假定只有 SQL-92 标准的 SQL 模式匹配(% 和 _ 通配符)。
并不总是检验有关当前用户对特定表的读写特权信息,因此不能确保访问。这个结果集不仅包含表和视图,还包含网关的同名和别名,这些网关通往支持这些类型的 DBMS 产品。如果在 sp_server_info 的结果集中,服务器特性 ACCESSIBLE_TABLES 是 Y,则只返回当前用户可访问的表。
sp_tables 与 ODBC 中的 SQLTables 等同。返回结果按 TABLE_TYPE、TABLE_QUALIFIER、TABLE_OWNER 和 TABLE_NAME 顺序排列。
权限
执行权限默认授予 public 角色。
示例
A. 返回可在当前环境中查询的对象的列表
EXEC sp_tables
B. 返回 Company 数据库中表 syscolumns 的有关信息
EXEC sp_tables syscolumns, dbo, Company, "'SYSTEM TABLE'"
select * from syscolumns where id=当前表的id
select * from sysTypes where xtype=当前syscolumns 的xtype的id