Re: running scripts like oracle sqlplus - Mailing list pgsql-sql

From Brian Sherwood
Subject Re: running scripts like oracle sqlplus
Date
Msg-id AANLkTinIKyQPRROJKIPvwmRIppRyxvlEWnUJH1tikve4@mail.gmail.com
Whole thread Raw
In response to running scripts like oracle sqlplus  (Steven Dahlin <pgdb.sldahlin@gmail.com>)
List pgsql-sql

Have you tried nextval & currval?
http://www.postgresql.org/docs/8.4/interactive/functions-sequence.html 

Something like this:


begin

insert into user
(
  user_id,
  customer_id,
  create_user,
  update_user
)
values
(
  nextval(user_seq),
  nextval(customer_seq),
  currval(user_seq),
  currval(user_seq)
);

insert into customer
(
  customer_id,
  create_user,
  update_user
)
values
(
  currval(customer_seq),
  currval(user_seq),
  currval(user_seq)
);

commit; 

end;





On Fri, Jun 18, 2010 at 6:24 PM, Steven Dahlin <pgdb.sldahlin@gmail.com> wrote:
I have been trying to figure out how I can run a pgsql script like I can run a plsql script with oracle's sqlplus.  Here is a sample script file for what I want to run:

declare
  sysuserid integer := 0;
  hwcustid  integer := 0;
begin

select nextval( 'user_seq' ) into  sysuserid;
select nextval( 'customer_seq' ) into  hwcustid;

insert into user
(
  user_id,
  customer_id,
  create_user,
  update_user
)
values
(
  sysuserid,
  hwcustid,
  sysuserid,
  sysuserid
);

insert into customer
(
  customer_id,
  create_user,
  update_user
)
values
(
  hwcustid,
  sysuserid,
  sysuserid
);

commit; 

end;

I try to run the script in psql and thru pgadmin and cannot seem to make them work.  I do not want to turn it into a function.  I just want it to execute the block in a fashion similar to Oracle'sqlplus running @scriptfile.sql.

Thanks

pgsql-sql by date:

Previous
From: Kenneth Marshall
Date:
Subject: Re: running scripts like oracle sqlplus
Next
From: Tim Landscheidt
Date:
Subject: Re: error on line 1 trying to execute a script using psql