Sql 视图和表集合名称/类型?

Sql 视图和表集合名称/类型?,sql,sql-server,Sql,Sql Server,我想创建一个数据库表,其中有一列存储表或视图的名称。将我的专栏命名为“ViewOrTableName”似乎有点笨拙。是否存在表示“表”或“视图”的泛型类型/名称 具体地说,我是在MS SQL中这样做的,如果方言不同的话 来自(Transact-SQL) 指定中使用的表、视图、派生表和联接表 SQL Server 2017中的删除、选择和更新语句 语法 [ FROM { <table_source> } [ ,...n ] ] <table_source> ::=

我想创建一个数据库表,其中有一列存储表或视图的名称。将我的专栏命名为“ViewOrTableName”似乎有点笨拙。是否存在表示“表”或“视图”的泛型类型/名称

具体地说,我是在MS SQL中这样做的,如果方言不同的话

来自(Transact-SQL) 指定中使用的表、视图、派生表和联接表 SQL Server 2017中的删除、选择和更新语句

语法

[ FROM { <table_source> } [ ,...n ] ]   
<table_source> ::=   
{  
    table_or_view_name [ [ AS ] table_alias ]   
        [ <tablesample_clause> ]   
        [ WITH ( < table_hint > [ [ , ]...n ] ) ]   
    | rowset_function [ [ AS ] table_alias ]   
        [ ( bulk_column_alias [ ,...n ] ) ]   
    | user_defined_function [ [ AS ] table_alias ]  
    | OPENXML <openxml_clause>   
    | derived_table [ [ AS ] table_alias ] [ ( column_alias [ ,...n ] ) ]   
    | <joined_table>   
    | <pivoted_table>   
    | <unpivoted_table>  
    | @variable [ [ AS ] table_alias ]  
    | @variable.function_call ( expression [ ,...n ] )   
        [ [ AS ] table_alias ] [ (column_alias [ ,...n ] ) ]  
    | FOR SYSTEM_TIME <system_time>   
}
[来自{}[,…n]]
::=   
{  
表或视图名称[[作为]表别名]
[  ]   
[带有([[,]…n])]
|行集_函数[[AS]表_别名]
[(批量列别名[,…n])]
|用户定义的\u函数[[AS]表\u别名]
|OPENXML
|派生的_表[[AS]表_别名][(列_别名[,…n])]
|    
|    
|   
|@variable[[AS]表\u别名]
|@variable.function\u调用(表达式[,…n])
[[AS]表别名][(列别名[,…n])]
|系统时间
}
因此,您可能希望使用
表\u源代码
,或
表\u或\u视图\u名称

<

来自(Transact-SQL) 指定中使用的表、视图、派生表和联接表 SQL Server 2017中的删除、选择和更新语句

语法

[ FROM { <table_source> } [ ,...n ] ]   
<table_source> ::=   
{  
    table_or_view_name [ [ AS ] table_alias ]   
        [ <tablesample_clause> ]   
        [ WITH ( < table_hint > [ [ , ]...n ] ) ]   
    | rowset_function [ [ AS ] table_alias ]   
        [ ( bulk_column_alias [ ,...n ] ) ]   
    | user_defined_function [ [ AS ] table_alias ]  
    | OPENXML <openxml_clause>   
    | derived_table [ [ AS ] table_alias ] [ ( column_alias [ ,...n ] ) ]   
    | <joined_table>   
    | <pivoted_table>   
    | <unpivoted_table>  
    | @variable [ [ AS ] table_alias ]  
    | @variable.function_call ( expression [ ,...n ] )   
        [ [ AS ] table_alias ] [ (column_alias [ ,...n ] ) ]  
    | FOR SYSTEM_TIME <system_time>   
}
[来自{}[,…n]]
::=   
{  
表或视图名称[[作为]表别名]
[  ]   
[带有([[,]…n])]
|行集_函数[[AS]表_别名]
[(批量列别名[,…n])]
|用户定义的\u函数[[AS]表\u别名]
|OPENXML
|派生的_表[[AS]表_别名][(列_别名[,…n])]
|    
|    
|   
|@variable[[AS]表\u别名]
|@variable.function\u调用(表达式[,…n])
[[AS]表别名][(列别名[,…n])]
|系统时间
}

因此,也许您想使用
表\u源代码
,或者
表\u或视图\u名称

除了这主要是基于意见之外,为什么需要将其存储在表中?似乎您将数据和元数据混合在一起,这很少是正确的(例如,您不能向该表添加引用元数据对象的约束,以强制其确实有效)。在SQL Server命名下,我能想到的唯一更通用的名称是“对象”,但这当然也包括存储的进程和其他对象。DataSource可能是一个更通用的名称,但可能不仅仅是一个表或视图。但整个设计过程中出现了一些错误。用户可以运行作业来生成XML文件。XML文件有一个名为“PartNumber”的元素例如,当为一个收件人呈现文件时,他可能会呈现零件的零件号,而对于下一个收件人,他可能会呈现零件的“已发布零件号”相反。因此,用户可以控制指定要使用的数据源。数据源可能位于不同的视图/表或不同的列上。因此,我有一个表存储用户选择的源。我们不向用户公开架构。用户从网站上的别名实体/属性中进行选择。除了primar之外为什么需要将其存储在表中?似乎您将数据和元数据混合在一起,这是很少正确的(例如,您无法向该表添加引用元数据对象的约束以强制其确实有效)。在SQL Server命名下,我能想到的唯一更通用的名称是“对象”,但这当然也包括存储的进程和其他对象。DataSource可能是一个更通用的名称,但可能不仅仅是一个表或视图。但整个设计过程中出现了一些错误。用户可以运行作业来生成XML文件。XML文件有一个名为“PartNumber”的元素例如,当为一个收件人呈现文件时,他可能会呈现零件的零件号,而对于下一个收件人,他可能会呈现零件的“已发布零件号”相反。因此,用户可以控制指定要使用的数据源。数据源可能位于不同的视图/表或列上。因此,我有一个表存储用户选择的源。我们不会向用户公开架构。用户从网站上的别名实体/属性中进行选择。