为什么oracle sql开发人员不会认识我的if语句

时间:2014-12-04 15:43:23

标签: sql oracle if-statement

我正在使用oracle SQL开发人员,我正在尝试运行带有if语句的查询。

我已经定义了一个变量并为其赋值。

define
var buyer varchar2(1)

/* define variable values */ 
exec :buyer := 'Yep'

if :buyer = 'Yep' then 
begin
dbms_output.put_line('Yep');
else 
dbms_output.put_line('Nope');
end;

但是,当我运行脚本时,我收到一条错误消息,指出IF是一个未知命令。

从命令行中的第8行开始出错 -
if:buyer ='是的'然后
错误报告 -
未知命令

非常感谢任何建议。

2 个答案:

答案 0 :(得分:1)

查找PLSQL语法:

DECLARE
  variable type;
BEGIN
  IF variable = 'test'
  THEN
    DBMS_OUTPUT.PUT_LINE('J');
  ELSE
    DBMS_OUTPUT.PUT_LINE('N');
  END IF;
END;
/

答案 1 :(得分:1)

您必须定义DECLARE-BEGIN-END块以运行IF-ELSIF-ELSE-END条件。 根据您的示例代码,我假设这是您想要做的。

DECLARE
  buyer VARCHAR2(3) := 'Yep';
BEGIN
  IF ( buyer = 'Yep' ) THEN
    dbms_output.put_line('Yep' );
  ELSE
    dbms_output.put_line('Nope');
  END IF;
END;
/

您可以在sql developer中将其作为脚本运行。 HTH!