plsql - pl /sql procedure execution giving an error -


my stored proc defined as

create or replace procedure test(      name  in table1.col_name%type,      price in table1.col_price%type ) begin     update table1  t set t.name =name t.price = price; commit; end test;   

i trying execute as

exec test(name => 'john', price => 1000); 

however, gives invalid sql error. missing here?

your input parameter %type statements claim column names col_name , col_price. not how refer them in stored procedure (name , price).

bad things can happen when name variables after column names. asktom recommends limited convention of variable naming conventions:

  • local variables start l_
  • parameters start p_
  • global package variables start g_

that link has general discussion on pl/sql naming conventions. use v_ variables (aside indexes , other obvious things), that's me.

lastly, col_ in column names seem redundant; use name , price column names.

so, said, think want:

create table table1 (     name    varchar2(30),     price   number );  create or replace procedure test(      p_name  in table1.name%type,      p_price in table1.price%type ) begin     update table1         set name = p_name       price = p_price;     commit; end test; / insert table1 values ('john', 500); commit;  select * table1;  exec test(p_name => 'bob', p_price => 500);  select * table1;  -- clean test artifacts drop procedure test; drop table table1; 

giving output:

table table1 created. procedure test compiled 1 rows inserted. committed. name                                price ------------------------------ ---------- john                                  500   anonymous block completed name                                price ------------------------------ ---------- bob                                   500   procedure test dropped. table table1 dropped. 

Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -