我不太熟悉SQL Server数据字典,但我已经假设我正在尝试做的事情是可能的.
我们有许多复制的数据库,名称不同:Client1 Client2 Client3
我不是依赖于命名约定,而是希望根据它们是否包含密钥表来识别这些数据库,将其称为MyTable.所以开始考虑需要以下查询:
SELECT db.name
FROM sys.databases db
JOIN sys.tables tbl ON ??
WHERE tbl.Name = 'MyTable'
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为我看不到如何直接或间接地将sys.tables连接到sys.databases,而sys.tables也是基于活动数据库的视图,而不是所有数据库的完整表集.
任何人都可以为这种情况确定合适的查询吗?
我有一个大字典(输出为366MB中的字符串,~383764153行filetextfile),我想存储在数据库中以便快速访问并跳过填充字典所涉及的计算时间.
我的字典由文件名/内容对的字典组成.小子集:
{
'Reuters/19960916': {
'54826newsML': '<?xml version="1.0"
encoding="iso-8859-1" ?>\r\n<newsitem itemid="54826" id="root"
date="1996-09-16" xml:lang="en">\r\n<title>USA: RESEARCH ALERT -
Crestar Financial cut.</title>\r\n<headline>RESEARCH ALERT - Crestar
Financial cut.</headline>\r\n<text>\n<p>-- Salomon Brothers analyst
Carole Berger said she cut her rating on Crestar Financial Corp to
hold from buy, at the same time lowering her 1997 earnings per share
view to $5.40 from $5.85.</p>\n<p>-- Crestar said it would buy
Citizens Bancorp in a $774 million stock swap.</p>\n<p>-- Crestar
shares were down 2-1/2 at 58-7/8. Citizens Bancorp …Run Code Online (Sandbox Code Playgroud) 不幸的是,BOL在这方面有点模糊,但是index_id = 0在表上sys.indexes或者sys.partitions似乎是指表中没有聚簇索引的表.是的 - 或者我错过了什么?
当我创建一个Oracle数据库时,它里面有很多带有奇怪名称的表.这些表是什么?我应该保留它们吗?如果没有,我怎么能避免创建它们?
这些是表名:
LOGMNR_UID $ LOGMNR_SESSION_EVOLVE $ LOGMNR_GLOBAL $ LOGMNR_RESTART_CKPT_TXINFO $ LOGMNR_AGE_SPILL $ LOGMNR_SPILL $ LOGMNRC_DBNAME_UID_MAP LOGMNR_LOG $ LOGMNR_ERROR $ LOGMNR_PROCESSED_LOG $ LOGMNR_FILTER $ LOGMNR_RESTART_CKPT $ LOGMNR_GT_TAB_INCLUDE $ LOGMNR_GT_USER_INCLUDE $ LOGMNRT_MDDL $ OL $ OL $ HINTS OL $ NODES LOGMNR_DICTSTATE $ LOGMNRC_GTLO LOGMNRC_GTCS LOGMNRC_GSII LOGMNR_SEED $ LOGMNR_DICTIONARY $ LOGMNR_OBJ $ LOGMNR_TAB $ LOGMNR_COL $ LOGMNR_ATTRCOL $ LOGMNR_TS $ LOGMNR_IND $ LOGMNR_USER $ LOGMNR_TABPART $ LOGMNR_TABSUBPART $ LOGMNR_TABCOMPART $ LOGMNR_TYPE $ LOGMNR_COLTYPE $ LOGMNR_ATTRIBUTE $ LOGMNR_LOB $ LOGMNR_CDEF $ LOGMNR_CCOL $ …
我试图在Oracle 9i中执行此语句.然而,似乎结果集是空的,尽管J非常确定有许多名称为ID的列.
select * from cols where column_name like '%ID%';
Run Code Online (Sandbox Code Playgroud)
此外,以下语句返回空结果集.
select * from cols;
Run Code Online (Sandbox Code Playgroud)
我可以问这是否可能是由于用户权限造成的?
谢谢!
你能告诉我们SQLite数据字典中所有表和表列的名称吗?
更新:
我将此信息用于我正在开发的 Basic4Android 应用程序。
这是我使用的实际编码段:
' Create the PeopleToVisit table which holds lookup data about each visit.
'-------------------------------------------------------------------------
If SQL.ExecQuerySingleResult( _
"SELECT count(name) FROM sqlite_master WHERE type='table' AND name='PeopleToVisit'") _
= 0 Then
ToastMessageShow("Creating the People to Visit table.", False)
' Create it now since it doesn't yet exist.
'------------------------------------------
SQL.ExecNonQuery("CREATE TABLE PeopleToVisit (" & _
"Id INTEGER PRIMARY KEY, " & _
"FirstName TEXT, " & _
"LastName TEXT, " & _
"Address1 TEXT, " & _
"Address2 …Run Code Online (Sandbox Code Playgroud) 我需要帮助来调整以下涉及从 Oracle 数据字典 ALL_OBJECTS 进行查询的查询。
SELECT OBJECT_NAME ,OBJECT_TYPE
FROM ALL_OBJECTS OBJ
WHERE (OBJ.OWNER ='HR')
AND (OBJ.OBJECT_TYPE IN ('TABLE','VIEW'));
Run Code Online (Sandbox Code Playgroud)
我尝试使用如下提示调整查询,但没有太多帮助。
SELECT /*+ STAR_TRANSFORMATION */ OBJECT_NAME
,OBJECT_TYPE
FROM ALL_OBJECTS OBJ
WHERE (OBJ.OWNER ='HR')
AND (OBJ.OBJECT_TYPE IN ('TABLE','VIEW'));
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激。非常感谢。
我有一个表名 student 并且我的数据库中有 35 个模式。我怎样才能得到表学生存在的模式?(在不同的模式中可能有多个)。
我已经尝试过了,pg_class但我不知道如何从那里获取架构名称。
到目前为止,我已经发现要描述一个表格,我可以使用以下内容:
select dbms_metadata.get_ddl('TABLE','<my table name>','<table owner>') from dual;
Run Code Online (Sandbox Code Playgroud)
我还发现我可以使用以下语句从当前用户那里获取表列表:
select table_name from user_tables;
Run Code Online (Sandbox Code Playgroud)
但是,我需要找到一种将这两者结合起来的方法,以便我得到一个(最好是 SQL 文件)输出,它基本上描述了当前模式中的所有表。我该怎么办?
我在下面选择了属性DEFAULT_LENGTH:
SELECT
TABLE_NAME,
COLUMN_NAME,
DATA_DEFAULT,
DEFAULT_LENGTH
FROM all_tab_columns
WHERE TABLE_NAME LIKE 'TEST2';
Run Code Online (Sandbox Code Playgroud)
为了更改DATA_DEFAULT,我使用了以下语法:
ALTER TABLE TEST2 MODIFY (COL1 DEFAULT 'en');
Run Code Online (Sandbox Code Playgroud)
如何使用类似的alter option语法DEFAULT_LENGTH进行更改?
谢谢!
data-dictionary ×10
oracle ×5
sql ×4
database ×2
sql-server ×2
dictionary ×1
mongodb ×1
performance ×1
plsql ×1
postgresql ×1
python ×1
select ×1
sql-scripts ×1
sqlite ×1