Sql 在oracle DB中创建视图时出错
我是sql方面的新手。我正在尝试运行下面的查询Sql 在oracle DB中创建视图时出错,sql,oracle,Sql,Oracle,我是sql方面的新手。我正在尝试运行下面的查询 Create view ReturnCode as ( select ret_code, to_char(creation_dt,'DD-MON-YYYY HH24:MI:SS')“Created_Date”,current_timestamp,buff.log.* from buff.log WHERE ret_Code= '90' order by creation_dt ); 获取错误 must name this expressi
Create view ReturnCode as
(
select ret_code, to_char(creation_dt,'DD-MON-YYYY HH24:MI:SS')“Created_Date”,current_timestamp,buff.log.*
from buff.log
WHERE ret_Code= '90'
order by creation_dt
);
获取错误
must name this expression with a column alias
请帮助我这里缺少的东西使用此:
CREATE VIEW ReturnCode
AS
(SELECT t.ret_code,
TO_CHAR (t.creation_dt, 'DD-MON-YYYY HH24:MI:SS') Created_Date,
CURRENT_TIMESTAMP Curr_tmp,
t.*
FROM buff.LOG t
WHERE t.ret_Code = '90'
order by t.creation_dt
);
您必须在视图中提供
current\u timestamp
列名
隔离错误,使其更加明显:
SQL> create view v1 as select current_timestamp from emp;
create view v1 as select current_timestamp from emp
*
ERROR at line 1:
ORA-00998: must name this expression with a column alias
(SQL*Plus甚至可以准确地显示必须命名的表达式-如果您使用SQL*Plus,它将在视图定义上执行相同的操作。)
为此表达式添加列名:
SQL> create view v1 as select current_timestamp as current_ts from emp;
View created.
不相关,但是:select语句周围的括号是无用的。你需要使用“straigh”双引号
“
而不是那些排版的:”
@XING-Ha!我看到你编辑了你的帖子来添加正确的答案(这与你最初发布的内容无关)。当您发布错误或不完整的答案,然后其他人发布答案,然后您编辑自己的答案以添加您在其他答案中看到的内容时,通常会确认您所做的操作。任何关心您的人都可以通过单击“1小时前编辑的”来查看您所做的编辑"link.不酷!@mathguy.。这是我这边的失误。我感谢你的回答,但是我想说的是,即使OP会跟随你的东西,它也不会起作用。你可以尝试一下。解决第一部分后,如果isue正在使用当前时间戳
,他将面临我已经解决的另一个问题。我不在这里做任何竞争对你和你的答案表示不满。所以你不会给我任何报酬。如果你觉得没有动力的话。+1来自我。干杯。我想没有理由否决一个正确的答案,因为有人没有投票给你。@SubashKonar。。请阅读此文并删除你的评论,谢谢。@XING-我不怀疑我的答案不会解决OP的所有问题lems;我没有尝试。如果他解决了最初的错误并遇到了另一个错误,他可能可以自己修复它,或者他应该发布另一个问题(因为这是一个非常不同的问题).但这不是我的观点。我的观点是关于我在评论中写的内容。如果你用你在别人的答案中看到的内容来改变你自己的答案,你应该说出你没有说的内容,而不是让另一个答案(发布时间比你晚)的解释来解释抄袭了你写的内容。这是不酷的。关于否决票:不是因为你回答的质量,而是因为缺乏理智上的诚实。我会用不同的方式表达我的不满,但我认为没有(除了将你的行为标记出来供版主审查,我觉得在这种情况下没有必要这样做)。我的计划是在你编辑答案后删除否决票以添加此确认。