sql - 找出表的架构
问题描述
我连接到数据库,当我执行此查询时:
SELECT table_name FROM information_schema.tables
我得到一个清单:
table_name
1 dt_2019
2 dt_2020
但我想找出表“dt_2019”所在的架构,所以我可以进行以下查询:
SELECT dt_2019 FROM schema_that_i_don't_know
期望的结果将是该表 dt_2019
我怎么能这样做?
解决方案
我推断当您说“找出架构”时,您的意思是目录、架构、名称等……还有另一个您可以经常使用的元表。在 SQL Server 中,至少,有:
# con <- DBI::dbConnect(...)
str(DBI::dbGetQuery(con, "
select *
from information_schema.columns
where table_name = 'r2test'"))
# 'data.frame': 3 obs. of 23 variables:
# $ TABLE_CATALOG : chr "mydb" "mydb" "mydb"
# $ TABLE_SCHEMA : chr "db_owner" "db_owner" "db_owner"
# $ TABLE_NAME : chr "r2test" "r2test" "r2test"
# $ COLUMN_NAME : chr "a" "b" "c"
# $ ORDINAL_POSITION : int 1 2 3
# $ COLUMN_DEFAULT : chr NA NA NA
# $ IS_NULLABLE : chr "YES" "YES" "YES"
# $ DATA_TYPE : chr "int" "nvarchar" "real"
# $ CHARACTER_MAXIMUM_LENGTH: int NA -1 NA
# $ CHARACTER_OCTET_LENGTH : int NA -1 NA
# $ NUMERIC_PRECISION : int 10 NA 24
# $ NUMERIC_PRECISION_RADIX : int 10 NA 2
# $ NUMERIC_SCALE : int 0 NA NA
# $ DATETIME_PRECISION : int NA NA NA
# $ CHARACTER_SET_CATALOG : chr NA NA NA
# $ CHARACTER_SET_SCHEMA : chr NA NA NA
# $ CHARACTER_SET_NAME : chr NA "UNICODE" NA
# $ COLLATION_CATALOG : chr NA NA NA
# $ COLLATION_SCHEMA : chr NA NA NA
# $ COLLATION_NAME : chr NA "SQL_Latin1_General_CP1_CI_AS" NA
# $ DOMAIN_CATALOG : chr NA NA NA
# $ DOMAIN_SCHEMA : chr NA NA NA
# $ DOMAIN_NAME : chr NA NA NA
推荐阅读
- module - Magento 2.2.5:类工厂不存在
- lua - 预期的 Lua 索引,得到功能
- xml - 尝试将 XML 子项从一个文件导入到另一个文件
- javascript - Chrome 扩展:将脚本注入新创建的 Windows
- computer-vision - 计算机视觉中图像分割任务的标签到底是什么
- oracle - 外部表预处理器不工作
- java - 致命异常:IntentService [RegisterApp] java.lang.NumberFormatException:对于输入字符串:“存在”
- awk - 两个文件中的键值相加
- php - Laravel:缺少必需的参数
- c# - 如何动态锁定线程并避免竞争条件