Discussions
Categories
- 196.7K All Categories
- 2.2K Data
- 234 Big Data Appliance
- 1.9K Data Science
- 449.7K Databases
- 221.5K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 549 MySQL Community Space
- 477 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3K ORDS, SODA & JSON in the Database
- 532 SQLcl
- 4K SQL Developer Data Modeler
- 186.8K SQL & PL/SQL
- 21.2K SQL Developer
- 295.3K Development
- 17 Developer Projects
- 138 Programming Languages
- 292K Development Tools
- 104 DevOps
- 3.1K QA/Testing
- 645.9K Java
- 27 Java Learning Subscription
- 37K Database Connectivity
- 153 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.1K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 17 Java Essentials
- 157 Java 8 Questions
- 85.9K Java Programming
- 79 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.2K Java SE
- 13.8K Java Security
- 203 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 387 LiveLabs
- 37 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.6K Other Languages
- 2.3K Chinese
- 170 Deutsche Oracle Community
- 1K Español
- 1.9K Japanese
- 230 Portuguese
My code shows error and I am not able to understand the errror

CREATE TABLE credit(
cust_name varchar2(100),
credit_limit NUMBER(10,3),
cust_id NUMBER);
INSERT INTO credit VALUES('Arnab Deb',999990.000,100);
INSERT INTO credit VALUES('Pampita Bhowmik',999991.000,150);
INSERT INTO credit VALUES('Ankur Kumar Das',999992.000,102);
DECLARE
l_credit_lmt credit.credit_limit%TYPE;
l_average_cred l_credit_lmt%TYPE;
l_max_cred l_credit_lmt%TYPE;
l_min_cred l_credit_lmt%TYPE;
BEGIN
SELECT
MIN(credit_limit);
MAX(credit_limit);
AVG(credit_limit);
INTO
l_min_cred,
l_max_cred,
l_average_cred,
FROM
credit;
SELECT
credit_limit;
INTO
l_credit_lmt;
FROM
credit;
WHERE
cust_id = 100;
DBMS_OUTPUT.PUT_LINE('Minim-Credit:-'|| l_min_cred);
DBMS_OUTPUT.PUT_LINE('Maximum-Credit:-'|| l_max_cred);
DBMS_OUTPUT.PUT_LINE('Avg-Credit:-'|| l_average_cred);
DBMS_OUTPUT.PUT_LINE('Cust-Credit:-'|| l_credit_lmt);
END;
The error it shows is :-
ORA-06550: line 3, column 20:
PL/SQL: ORA-00923: FROM keyword not found where expected
Answers
-
You have a comma after:
l_average_cred,
which isn't needed
-
You also have a semicolon after your table name:
credit;
which likewise isn't needed. (for the query where you have a WHERE clause following it)
-
In fact you have far too much, or wrong punctuation in your code. Here, try this...
CREATE TABLE credit( cust_name varchar2(100), credit_limit NUMBER(10,3), cust_id NUMBER ); INSERT INTO credit VALUES('Arnab Deb',999990.000,100); INSERT INTO credit VALUES('Pampita Bhowmik',999991.000,150); INSERT INTO credit VALUES('Ankur Kumar Das',999992.000,102); DECLARE l_credit_lmt credit.credit_limit%TYPE; l_average_cred l_credit_lmt%TYPE; l_max_cred l_credit_lmt%TYPE; l_min_cred l_credit_lmt%TYPE; BEGIN SELECT MIN(credit_limit), MAX(credit_limit), AVG(credit_limit) INTO l_min_cred, l_max_cred, l_average_cred FROM credit; SELECT credit_limit INTO l_credit_lmt FROM credit WHERE cust_id = 100; DBMS_OUTPUT.PUT_LINE('Minim-Credit:-'|| l_min_cred); DBMS_OUTPUT.PUT_LINE('Maximum-Credit:-'|| l_max_cred); DBMS_OUTPUT.PUT_LINE('Avg-Credit:-'|| l_average_cred); DBMS_OUTPUT.PUT_LINE('Cust-Credit:-'|| l_credit_lmt); END;