Question

I have a table(customer) and is has attributes of c_Id, fname, lname, age

the table is populated with the following values

 1|Ann|Smiths|23
 2|Chris|Gates|21
 3|Janes|Jobs|24

I am very new to pl/sql and I wrote a simple select statement

DECLEAR
     name varchar2(50);
BEGIN
     SELECT fname into name
     FROM customer
     WHERE fname= 'Ann';
END;

When I execute the script my from my textfile(doselect) on sqlplus using the following command

 EXECUTE doselect

however it gives me the following error

ERROR at line 1:
ORA-06550: line 1, column 8:  
PLS-00103: Encountered the symbol ":" when expecting one of the following: 
:= . ( @ % ; 

Please help.

Was it helpful?

Solution

Apart from the typo (DECLEAR instead of DECLARE), your script looks fine. To get output from SQL/Plus, I'd also add a DBMS_OUTPUT statement:

DECLARE
     name varchar2(50);
BEGIN
     SELECT fname into name
     FROM customer
     WHERE fname= 'Ann';
     -- print it
     dbms_output.put_line(name);
END;

However, to execute a file from SQL/Plus, don't use the EXECUTE command - rather use @ :

SQL> set serveroutput on
SQL> @doselect
 10  /
 Ann

SQL/Plus is not very friendly to new users - you might want to use another client to get started (e.g. Oracle SQL/Developer - it's free and comes with a nice GUI).

OTHER TIPS

DECLARE
   name   VARCHAR2 (50);
BEGIN
   SELECT   FNAME
     INTO   name
     FROM   customer
    WHERE   FNAME = 'Ann';
EXCEPTION
   WHEN OTHERS
   THEN
      DBMS_OUTPUT.put_line ('ERROR ' || SQLERRM);
END;
/

Your error is in DECLEAR -> DECLARE, and you must close your script with /.

You should always insert a block for exception handling.

Create a type holding_TY as an object

(
    d_id int not null,
    foreign key(d_id)references device(d_id),
    d_number number
)

Create type holding_nt as a table of holding_TY

CREATE TABLE bill (
    bi_id int primary key,
    c_id number not null,
    foreign key(c_id) references customer(c_id),
    bi_date date_TY,
    holding holding_nt,
    total_pri float
)

Nested table holding store as holding_nt_table

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top