当前位置: 首页 > 知识库问答 >
问题:

SQL错误:ORA-0在CREATE AS SELECT中0904:: 无效标识符

谭吉星
2023-03-14

我试图从Oracle SQL Developer中的另外两个表中创建一个表:

CREATE TABLE share_stock(
  share_id    NUMBER(6,0), 
  share_price NUMBER(10,2),
  company_id  NUMBER(6,0), 
  company_name VARCHAR2(50), 
  ticker_symbol VARCHAR2(4),
AS SELECT share_price.share_price_id, share_price.price, share_price.company_id, company.name, company.ticker_symbol 
FROM share_price, company
WHERE share_price.company_id = company.company_id,
CONSTRAINT sh_pk PRIMARY KEY (share_price.share_price_id),
CONSTRAINT sh_pr_fk FOREIGN KEY (share_price.share_price_id) REFERENCES share_price(share_price_id)
);

基本上,我试图执行创建为选择,但我得到了这个错误:

命令行错误:294列:28错误报告:SQL错误:ORA-00904:: 无效标识符00904.00000-"%s:无效标识符"

我试图纠正我的语法,到目前为止我还没有设法把它弄对,任何想法都会有所帮助,

提前谢谢。

共有2个答案

百里鸿祯
2023-03-14

约束sh_pk主键(share_price.share_price_id),约束sh_pr_fk外键(**share_price。**share_price_id)引用share _ price(share _ price _ id));

您的代码不起作用,因为ORACLE不知道什么是share_ price。shareprice_id???您应该写入share_id,即您希望成为表share_ stock主键的列。

谢谢你,MJ。

王刚毅
2023-03-14

试试这个方法

CREATE TABLE share_stock
AS 
SELECT SP.share_price_id as share_id , 
       SP.price as share_price, SP.company_id, C.name, 
       C.ticker_symbol 
FROM share_price SP 
join company C on SP.company_id = C.company_id;

alter table share_stock
add CONSTRAINT sh_pk PRIMARY KEY (share_id);

alter table share_stock
add CONSTRAINT sh_pr_fk FOREIGN KEY (share_id) 
REFERENCES share_price(share_price_id);
 类似资料:
  • 创建此表后,我正在尝试添加外键 我想使用Alter table创建的外键是Sailnumber: ALTER表成员添加外键(sailnumber)引用船(sailnumber) sailnumber是table boat的主键,如下所示 然而,我得到了这个错误SQL错误: ORA-00904:"SAILNUMBER":无效的标识符,我不知道为什么我得到有人能告诉我哪里出错了吗?

  • 我正在尝试使用此查询创建一个表(customer)到数据库, 我得到以下回复: 错误报告-SQL错误:ORA-00904::标识符00904无效。00000-%s:无效标识符

  • 有人能帮我找出为什么这段代码返回一个SQLOracle ORA-00904:无效的索引符错误吗?查询在没有Country='阿根廷'的情况下有效,但我需要按此值向下过滤。有人能给我指出正确的方向吗?

  • Oracle 11g Express Edition..创建表时出错 ORA-00904:无效标识符

  • 我已经在虚拟XP中安装了Oracle 10g,并使用 并且成功地创建了表。但是当我试图通过简单的查询获取值时,如 我得到的错误就像 ORA-00904:"bbb":无效标识符 我不能理解我在这里做错了什么。

  • 我写以下查询作为源在我的ADF。我得到以下错误: 错误[42S22][Microsoft][ODBC Oracle Wire Protocol driver][Oracle]ORA-00904::标识符无效 需要找出错误在哪里吗?