扩展上一个问题:我正在使用Oracle数据库。这就是我正在做的事情(或者至少我认为我正在做的事情):
我使用以下命令获取数据库中的所有表:
select table_name from all_tables
然后我使用以下方法获取每个表的所有主键:
SELECT DISTINCT column_name FROM all_cons_columns
WHERE constraint_name = ( SELECT constraint_name
FROM all_constraints WHERE UPPER(table_name) = UPPER('table_name')
AND CONSTRAINT_TYPE = 'P' and rownum<=1)
注意:我使用了distinct和rownum&lt; = 1,因为有些表似乎不幸有重复的主键(我知道这是一个问题,但我不认为它是手头的主要问题)
两个查询似乎都回归了我想要的东西;当我尝试使用表名和主键选择行时出现问题:
SELECT * FROM table_name WHERE primary_key_column = primary_key_value
根据传递的表和密钥,我会收到各种不同的错误,范围从ORA-00942:表或视图不存在,ORA-00933:SQL命令未正确结束,ORA-00904:&#34 ; PRIMARY_KEY_COLUMN&#34;:无效的标识符。
我知道我做错了什么,但是我对所有这些缺乏经验使得很难弄清楚是什么。