标签: system-tables

1090
推荐指数
30
解决办法
196万
查看次数

如何检查Sql server中是否存在约束?

我有这个sql:

ALTER TABLE dbo.ChannelPlayerSkins
    DROP CONSTRAINT FK_ChannelPlayerSkins_Channels
Run Code Online (Sandbox Code Playgroud)

但显然,在我们使用的其他一些数据库中,约束具有不同的名称.如何检查名称是否存在约束FK_ChannelPlayerSkins_Channels.

sql-server information-schema system-tables

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

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

PostgreSQL:查找有关用户定义类型的信息

有关用户定义类型的信息存储在哪里?

是否有一些表包含有关用户定义的复合类型的字段,其名称等的信息?

postgresql user-defined-types system-tables

5
推荐指数
2
解决办法
6402
查看次数

Oracle 12c中SYS.ALL_TAB_COLUMNS和SYS.ALL_TAB_COLS之间的区别

是什么之间的区别ALL_TAB_COLUMNS,并ALL_TAB_COLS在甲骨文12C系统表?在我的数据库中,ALL_TAB_COLUMNS的行数比ALL_TAB_COLS略少.

database-metadata system-tables oracle12c

3
推荐指数
1
解决办法
6724
查看次数

需要授予哪些权限才能访问 sys.dba_systems

我正在开发适用于 Oracle 的应用程序。对于某种逻辑,我需要从具有指定架构的给定 db 用户获取表列表。就我而言,我有一个用户已授予对给定架构的访问权限。因此,当我的代码使用给定的凭据创建连接并尝试从以下查询中获取表时,其返回表列表。

SELECT * FROM dba_objects where owner ='schema' and object_type = 'TABLE'

上面的查询正在使用具有授予所有权限的用户, 但是当我尝试使用有限的权限时,它抛出错误 msg。

ORA-00942: table or view does not exist
00942. 00000 -  "table or view does not exist"
Run Code Online (Sandbox Code Playgroud)

对于我们的代码从中创建连接的次要用户已通过以下查询授予权限

create user johnsmith identified by Passw0rd;;
grant connect to johnsmith ;
grant select any table to johnsmith ;
grant UPDATE any table to johnsmith ;
grant DELETE any table to johnsmith ;
grant INSERT any table to johnsmith ;
Run Code Online (Sandbox Code Playgroud)

我应该授予用户访问以下系统表的权限...?

  • dba_objects
  • 用户约束 …

database oracle schema grant system-tables

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

如果使用REMARKS,SYSIBM.SYSCOLUMNS查询将显示两次列

我在使用DB2时发现了一个奇怪的行为,SYSIBM.SYSCOLUMNS而且只出现在一个表中.

这是我的查询:

select distinct NAME, COLTYPE, LENGTH, SCALE, REMARKS from SYSIBM.SYSCOLUMNS where  TBNAME='Table1';
Run Code Online (Sandbox Code Playgroud)

通常结果显示每个表一次.

|===================================|
| NAME |COLTYPE|LENGTH|SCALE|REMARKS|
|col1  | ..... |......|.....|.......|
|col2  | ..... |......|.....|.......|
|col3  | ..... |......|.....|.......|
|===================================|
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用一个特定的表,让我们调用它Table2,每列显示两次:

|===================================|
| NAME |COLTYPE|LENGTH|SCALE|REMARKS|
|col1  | ..... |......|.....|.......|
|col1  | ..... |......|.....|.......|
|col2  | ..... |......|.....|.......|
|col2  | ..... |......|.....|.......|
|col3  | ..... |......|.....|.......|
|col3  | ..... |......|.....|.......|
|===================================|
Run Code Online (Sandbox Code Playgroud)

但是只有我REMARKS在select语句中包含它.如果我REMARKS从我的选择中删除,一切都按预期工作.

这个问题可能是什么原因?我的查询有问题吗?

db2 select system-tables

0
推荐指数
1
解决办法
2416
查看次数