So...
- your create table statement doesn't work
SQL> create table Esheet (SH_DATE date,
2 SHEET_NUMBER VARCHAR2 (5),
3 E.SHEETERS_PAY_CARD VARCHAR2 (16),
4 E.SHEETERS_BRANCH_NAME VARCHAR2(3),
5 E.SHEETERS_ACCOUNT_NUMBER VARCHAR2(11)
6 );
E.SHEETERS_PAY_CARD VARCHAR2 (16),
*
ERROR at line 3:
ORA-01748: only simple column names allowed here
So we fix that, and then your inserts don't work
SQL> create table Esheet (SH_DATE date,
2 SHEET_NUMBER VARCHAR2 (5),
3 SHEETERS_PAY_CARD VARCHAR2 (16),
4 SHEETERS_BRANCH_NAME VARCHAR2(3),
5 SHEETERS_ACCOUNT_NUMBER VARCHAR2(11)
6 );
Table created.
SQL> insert into Esheet values(12/12/2012,23756,975,12345678987);
insert into Esheet values(12/12/2012,23756,975,12345678987)
*
ERROR at line 1:
ORA-00947: not enough values
SQL> insert into Esheet values(11/12/2012,23456,675,12045078087);
insert into Esheet values(11/12/2012,23456,675,12045078087)
*
ERROR at line 1:
ORA-00947: not enough values
SQL> insert into Esheet values(10/12/2012,23352,475,10305675989);
insert into Esheet values(10/12/2012,23352,475,10305675989)
*
ERROR at line 1:
ORA-00947: not enough values
I mean ... come on... surely you can give us something more than that :-(
Anyway, at a *guess*, you might be wanting to do something like this ?
create or replace
procedure aptrn(
ba_source varchar2 default null,
ba_start_date varchar2 default null,
ba_end_date varchar2 default null,
ba_shhet_number varchar2 default null,
ba_sheeters_pay_card varchar2 default null,
ba_sheeters_branch_name varchar2 default null,
ba_sheeters_bank_acc varchar2 default null
)
begin
for i in (
select
e.sh_date,
e.sheet_number,
e.sheeters_pay_card,
e.sheeters_branch_name,
e.sheeters_account_number
from esheet e
where sh_date between ba_start_date and ba_end_date
) loop
-- do something with each row, eg
dbms_output.put_line(i.sheet_number);
end loop;
end;