标签: information-schema

SQL Server 2008向information_schema.columns授予权限

我有一系列存储过程从数据库中选择数据.我有一个角色(cctc_reader),它具有在程序上授予的执行权限.其中一个过程调用另一个存储过程,该过程recControl_system_option依次进行查询Information_schema.columns.

问题是在这个proc中查询

select column_name from information_schema.columns where table_name = 'recControl_manager'

不会返回任何记录.cctc_reader具有以下授权权限:

  • 每个选择过程
  • recControl_system_option

所以在理论上这应该有效.在dbo下运行时我没有问题.

如果我将db_datareader授予cctc_reader,那么查询就可以了,但我不想将读者权限授予所有表(因此我使用了存储过程).我已经尝试在一些文章中建议的主数据库中的Information_schema上授予选择权限,但仍然无法使其工作.

有什么建议?

sql-server permissions information-schema sql-server-2008

8
推荐指数
1
解决办法
9344
查看次数

MySQL数据库引擎:MyISAM用于information_schema,但InnoDB用于其他数据库

我目前正在为MySQL中的所有数据库使用InnoDB,但是我注意到我的information_schema数据库使用MyISAM来处理非MEMORY的表.

我正在调查InnoDB/MyISAM问题.虽然我不认为这是它的原因,但我担心这种混合.该数据库最初是使用MyISAM设置的.之后更新了my.cnf文件,将引擎重置为InnoDB.我正在使用MySQL 5.5.10.

将information_schema数据库设置为MyISAM可能会出现哪些问题,但是所有其他数据库都设置为MySQL?


对于那些寻求帮助的人: 如果您在寻找答案时遇到此问题或想要了解更多信息,请查看您的默认数据库引擎:

show variables;
Run Code Online (Sandbox Code Playgroud)

要查看分配给数据库中表的引擎:

show table status;
Run Code Online (Sandbox Code Playgroud)

我的my.cnf设置:

[client]
default-character-set=utf8

[mysqld]
log=/usr/local/var/mysql/mysqld.log
character-set-server = utf8
collation-server = utf8_general_ci
lower_case_table_names=2
default_storage_engine=InnoDB

# Performance hacks:
innodb_flush_method=nosync
innodb_flush_log_at_trx_commit=0
Run Code Online (Sandbox Code Playgroud)

mysql myisam innodb information-schema

8
推荐指数
1
解决办法
2282
查看次数

在pg_catalog表中找到的字段的NUMERIC精度和比例在哪里?

在PostgreSQL中,表结构的列数据存储在pg_attribute中,pg_class中有几个字段,pg_attrdef中有几个字段.

但我没有看到任何地方存储的NUMERIC字段类型的精度或比例.

它可以在INFORMATION_SCHEMA表中找到,但我试图避免它们,因为它们不使用oid来轻松连接到pg_catalog表.

所以问题是:列精度和比例存储在postgreSQL系统表中的哪个位置?

postgresql information-schema

7
推荐指数
1
解决办法
4035
查看次数

查询PostgreSQL中表的架构细节?

我需要知道PostgreSQL中的列类型(即varchar(20)).我知道我可能会\d在psql中使用某些内容找到它,但我需要使用select查询来完成它.
这在PostgreSQL中是否可行?

postgresql types dynamic-sql information-schema

7
推荐指数
2
解决办法
1万
查看次数

信息架构和主键

如何使用主键打印出列的"主键"?

如果表具有主键,而不是带有主键的一列和其他列在keyType中为空,则为所有列获取"主键".

   SELECT c.TABLE_NAME, 
          c.COLUMN_NAME, 
          c.DATA_TYPE, 
          c.Column_default, 
          c.character_maximum_length, 
          c.numeric_precision, 
          c.is_nullable,
          CASE 
            WHEN u.CONSTRAINT_TYPE = 'PRIMARY KEY' THEN 'primary key'
            ELSE '' 
          END AS KeyType
     FROM INFORMATION_SCHEMA.COLUMNS as c
LEFT JOIN information_schema.table_constraints as u ON c.table_name = u.table_name
 ORDER BY table_name
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2005 constraints information-schema primary-key

7
推荐指数
1
解决办法
1万
查看次数

SQL Server上不可靠的information_schema架构信息?

SQL Server文档在这里说,该table_schema领域information_schema.tables是"不可靠",并且得到一个对象的架构的正确方法是查询sys.objects.

任何人都可以详细说明报告的架构如何以及何时information_schema.tables可能不正确?

sql-server information-schema

7
推荐指数
1
解决办法
2580
查看次数

MySQL中的INFORMATION_SCHEMA.key_column_usage性能不佳

我正在运行MySQL的5.5.11版本,查询INFORMATION_SCHEMA.key_column_usage表时的性能非常糟糕.

我有一个简单的选择请求:

SELECT REFERENCED_TABLE_NAME
       , TABLE_NAME AS TableName
       , COLUMN_NAME AS ColumnName
       , CONSTRAINT_SCHEMA AS Db 
FROM INFORMATION_SCHEMA.key_column_usage 
Run Code Online (Sandbox Code Playgroud)

平均需要8秒才能返回400行.这是一个知道问题吗?如果是这样,有没有办法提高性能(补丁可能?).

mysql sql performance information-schema

7
推荐指数
1
解决办法
2844
查看次数

在所有数据库中搜索列名

我有这个查询,查找与我的某个数据库的列名匹配的所有表和视图.我正在使用SQL SERVER 2008

SELECT table_name FROM information_schema.columns
WHERE column_name = 'product_name'
Run Code Online (Sandbox Code Playgroud)

我想扩展我的查询功能,以搜索所有数据库,甚至查找具有我搜索列名称的存储过程.

information-schema sql-server-2008

6
推荐指数
2
解决办法
1万
查看次数

创建站点以查询表的数据库

我有一个小问题.我正在与一些未经过编程/数据库设计的手动测试人员合作.我们当前的流程意味着这些手动测试人员需要在特定时间将数据插入我们的数据库,同时我们构建GUI以便将来实现此目的.

在此期间,我想创建一个简单的网站.我想对网站做的只是简单地连接到我们的数据库,允许手动测试人员输入一些关键字,并返回表格中与所提供的关键字相近/相关的任何列.这将为我们的测试人员在我们(相当大的)数据库中搜索colums节省大量时间.

我怎么能创建这样的网站?我认为它可能对很多人有用,所以我决定在这里发布问题以收集StackOverflow的想法.

目前,我正在考虑一个带有文本框的简单PHP页面,它允许用户输入一些以逗号分隔的数据.基于逗号分解数据,将其保存在数组中.连接到我的数据库,然后使用信息架构视图来检索列信息. 我的主要问题是 - 使用信息架构视图检索与用户输入的关键字相关的列的最有效方法是什么?如何确保返回的列最合适

这里的任何输入将不胜感激.非常感谢.

Tl; dr是粗体部分,适合忙碌的人:)

php sql database sql-server information-schema

6
推荐指数
1
解决办法
3316
查看次数

表示数据库模式的标准文件格式

是否有任何标准或至少非常常见的文件格式来序列化数据库的模式?似乎每个数据库模式工具都带有自己的文件格式,用于列出表、列、索引等。

这个问题早在 2009 年就被问过,但没有令人满意的答案:Standard Database Neutral XSD toDescribe a Relational Database Schema

xml postgresql entity-relationship information-schema database-schema

5
推荐指数
1
解决办法
1890
查看次数