【发布时间】:2015-03-05 20:27:56
【问题描述】:
我正在使用 Oracle SQL Developer,我正在尝试将一个布尔变量设置为子查询的结果。但是,我收到一个语法错误,说我缺少“:”。我试图在我的代码中几乎所有地方都插入冒号,但它似乎不起作用。有什么想法吗?
DECLARE @HasntPassedCourse BIT;
SET @HasntPassedCourse =
EXISTS
(SELECT P.cid, P.code
FROM PassedCourses P
WHERE P.code != :newline.code AND P.cid != :newline.cid);
【问题讨论】:
-
Oracle 中不能有以@ 开头的不带引号的标识符;您是针对 Oracle DB 运行此程序,还是仅使用 SQL Developer 连接到不同的 RDBMS?您收到的整个错误消息是什么?
-
这肯定不可能是oracle。
DECLARE variable BIT;Oracle 可能会说无效的 plsql 块,因为DECLARE。 -
我想你想要
DECLARE HasntPassedCourse BOOLEAN; -
@ruudvan,用
DECLARE启动 PL/SQL 块有什么无效的? -
@DavidFaber,不是 DECLARE 本身,而是 DECLARE 没有 BEGIN 的事实。
标签: sql oracle variables boolean subquery