0

I'm Trying to retrieve Information from the table using PL/SQL Oracle developer and i see nothing wrong in my coding can anyone please help This Error is as Follows :

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.

Below are the tables I am using to retrieve information from :

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', '[email protected]');
       INSERT INTO Artists(ArtistId, ArtistName, ArtistEmail)
VALUES( 102, 'Music Mayhem', '[email protected]');
       INSERT INTO Artists(ArtistId, ArtistName, ArtistEmail)
VALUES( 103, 'LOL Man', '[email protected]');

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);
2
  • 2
    You are missing a comma after B.BookingDate and missing a integer variable to store the count values. Commented Jun 29, 2021 at 15:23
  • 2
    also is it Oracle SQL Developer or Allround Automations PL/SQL Developer - completely different produts Commented Jun 29, 2021 at 15:25

1 Answer 1

2

the problem starts here:

SELECT T.ArtistName, B.BookingDate COUNT(t.ArtistId) AS Perfomance_Date

you probably want store result in 3 different variables -

   T.ArtistName,
   B.BookingDate,
   COUNT(T.ArtistId) as Performace_Date

but you are missing comma (,) after B.BookingDate also missing 3rd variable in INTO clause.

If my assumptions are right, full code should be like following:

DECLARE 
        ArtId VARCHAR(50);
        BookingDate DATE;
        Performace_Date_Count NUMBER;
BEGIN
        SELECT T.ArtistName, B.BookingDate, COUNT(t.ArtistId) AS Perfomance_Date
        INTO ArtId, BookingDate, Performace_Date_Count
        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;
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.