【发布时间】:2021-09-11 19:27:31
【问题描述】:
我正在尝试使用 PL/SQL Oracle 开发人员从表中检索信息,我发现我的编码没有任何问题,任何人都可以帮忙这个错误如下:
Error starting at line : 88 in command -
DECLARE
ArtId VARCHAR(50);
BookingDate DATE;
BEGIN
SELECT T.ArtistName, B.BookingDate COUNT(t.ArtistId) AS Perfomance_Date
INTO ArtId, BookingDate
FROM Artists T, Bookings B, Event E
WHERE T.ArtistId = B.ArtistId
AND E.EventId = B.EventId
AND E.EventId = 1001;
DBMS_OUTPUT.PUT_LINE ('ARTIST NAME : ' || ArtName);
DBMS_OUTPUT.PUT_LINE ('BOOKING DATE : ' || BookingDate);
END;
Error report -
ORA-06550: line 5, column 49:
PL/SQL: ORA-00923: FROM keyword not found where expected
ORA-06550: line 5, column 9:
PL/SQL: SQL Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
以下是我用来从中检索信息的表格:
CREATE TABLE Event
(
EventId INT NOT NULL PRIMARY KEY,
EventName VARCHAR (50),
EventRate DECIMAL
);
INSERT INTO Event (EventId, EventName, EventRate)
VALUES (1001, 'Open Air Comedy Festrival', 300.00)
INSERT INTO Event (EventId, EventName, EventRate)
VALUES (1002, 'Mountain Side Music Festival', 280.00);
INSERT INTO Event (EventId, EventName, EventRate)
VALUES(1003, 'Beach Music Festival', 195.00);
CREATE TABLE Artists
(
ArtistId INT NOT NULL PRIMARY KEY,
ArtistName VARCHAR (50),
ArtistEmail VARCHAR (80)
);
INSERT INTO Artists(ArtistId, ArtistName, ArtistEmail)
VALUES ( 101, 'Max Trillion', 'maxt@isat.com');
INSERT INTO Artists(ArtistId, ArtistName, ArtistEmail)
VALUES( 102, 'Music Mayhem', 'mayhem@ymail.com');
INSERT INTO Artists(ArtistId, ArtistName, ArtistEmail)
VALUES( 103, 'LOL Man', 'lol@isat.com');
CREATE TABLE Bookings
(
BookingId INT NOT NULL PRIMARY KEY,
BookingDate DATE,
EventId INT NOT NULL,
ArtistId INT NOT NULL,
CONSTRAINT FK_EventId FOREIGN KEY (EventId) REFERENCES Event(EventId),
CONSTRAINT FK_ArtistId FOREIGN KEY (ArtistId) REFERENCES Artists(ArtistId)
);
INSERT INTO Bookings (BookingId, BookingDate, EventId, ArtistId)
VALUES(1, '15 July 2017', 1002, 101);
INSERT INTO Bookings (BookingId, BookingDate, EventId, ArtistId)
VALUES(2, '15 July 2017', 1002, 102);
INSERT INTO Bookings (BookingId, BookingDate, EventId, ArtistId)
VALUES(3, '27 August 2017', 1001, 103);
INSERT INTO Bookings (BookingId, BookingDate, EventId, ArtistId)
VALUES(4, '30 August 2017', 1003, 101);
INSERT INTO Bookings (BookingId, BookingDate, EventId, ArtistId)
VALUES(5, '30 August 2017', 1003, 102);
【问题讨论】:
-
您在 B.BookingDate 之后缺少一个逗号,并且缺少一个用于存储计数值的整数变量。
-
也是 Oracle SQL Developer 还是 Allround Automations PL/SQL Developer - 完全不同的产品
标签: oracle plsql oracle-sqldeveloper plsqldeveloper