Oracle PLSQL案例语句
为什么这个CASE语句不能在pl/sql中工作?我正在尝试一次性分配多个值。是否有一种更快的方法可以根据以下内容分配多个值?谢谢Oracle PLSQL案例语句,plsql,Plsql,为什么这个CASE语句不能在pl/sql中工作?我正在尝试一次性分配多个值。是否有一种更快的方法可以根据以下内容分配多个值?谢谢 DECLARE x number := 5; a CHAR; b CHAR; c CHAR; BEGIN CASE WHEN x = 5 THEN a :='rx' AND b := 'rt' AND c :='ry'; WHEN ... WHEN ... END END; 试试这个: DECLARE x NUMBER := 5; a
DECLARE
x number := 5;
a CHAR;
b CHAR;
c CHAR;
BEGIN
CASE
WHEN x = 5 THEN a :='rx' AND b := 'rt' AND c :='ry';
WHEN ...
WHEN ...
END
END;
试试这个:
DECLARE
x NUMBER := 5;
a VARCHAR2(2);
b VARCHAR2(2);
c VARCHAR2(2);
BEGIN
IF(x = 5)
THEN
a :='rx';
b := 'rt';
c :='ry';
END IF;
END;
您应该在sql查询中使用case关键字,但在这种情况下,当您想要设置varaibels时,您需要使用。语句在PL/sql中用分号分隔,而不是用
和
分隔。您在声明变量时这样做了,THEN
块中有什么不同?您的case
语句也需要以end case结尾
和不带大小的char
默认为char(1)
,这对于您的值来说太小了。标准的短文本字符串数据类型是varchar2
——最好不要使用char
。(您的大写锁定已打开。)