create or replace procedure cust_u(no number,name varchar2,add varchar2,
city varchar2,state varchar2,region varchar2,country varchar2) as
update cust set name=name,person= ADDRESS1(add,city,state,region,country) WHERE NO=NO;
I want to change all attributes based on NO .I has followed as
You need to give your parameters names that are distinct from the column names - like p_name, p_no. How is Oracle supposed to know what you mean by "WHERE no=no"? It assumes you mean "WHERE cust.no = cust.no", i.e. every row. Same for all the other parameters: "SET name=name" does nothing useful.
An alternative, though not common practise, is to prefix the parameters: