Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在oracle DB中创建视图时出错_Sql_Oracle - Fatal编程技术网

Sql 在oracle DB中创建视图时出错

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

我是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 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;我没有尝试。如果他解决了最初的错误并遇到了另一个错误,他可能可以自己修复它,或者他应该发布另一个问题(因为这是一个非常不同的问题).但这不是我的观点。我的观点是关于我在评论中写的内容。如果你用你在别人的答案中看到的内容来改变你自己的答案,你应该说出你没有说的内容,而不是让另一个答案(发布时间比你晚)的解释来解释抄袭了你写的内容。这是不酷的。关于否决票:不是因为你回答的质量,而是因为缺乏理智上的诚实。我会用不同的方式表达我的不满,但我认为没有(除了将你的行为标记出来供版主审查,我觉得在这种情况下没有必要这样做)。我的计划是在你编辑答案后删除否决票以添加此确认。