我需要在SELECT语句中包含表名,还要包括一些列和表的唯一标识符。
我不知道是否可以从该表中的SELECT语句中获取表名或某种唯一标识符。
我该如何实现这个功能?
感谢您的回复,但我通过以下方式解决了这个问题(实际上很容易)。
select 'table1' as tableName, col1, col2 from anyTable;
select
c.constraint_name,
col.column_name
from
dba_constrants c,
dba_cons_columns col
where
c.table_name = 'YOURTABLE'
and c.constraint_type in ('P', 'U')
and c.constraint_name = col.constraint_name
order by
c.constraint_name,
col.position
对于MySQL,您需要以类似的方式查询INFORMATION_SCHEMA.TABLE_CONSTRAINTS和INFORMATION_SCHEMA.KEY_COLUMN_USAGE视图。
这将为您提供数据库中所有表名,您可以根据需要进行调整
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'