I need to pass 2 variables name 'vamskt' and 'vamsi'.
Here is my question:
delete from gpi.usergroup where usg_user_id in ('vamskt');
delete from gpi.userroles where uro_user_id in ('vamskt');
delete from gpi.user where usr_id in ('vamskt');
insert into gpi.user values('vamskt','vamsi',0);
insert into gpi.userroles (select 'vamskt',rol_id from gpi.role r where r.ROL_ID <> 'MCY_Read');
insert into gpi.USERGROUP (select 'MERCURY',GRP_BU,GRP_ID,'vamskt' from gpi.GROUP where GRP_ID in ('Benf_App','EU_exp','Pymt_Q'));
#!/bin/ksh or /bin/bash or ...
vamskt=11111
vamsi=2222
cat <<EOF | somesql
delete from gpi.usergroup where usg_user_id in ('$vamskt');
delete from gpi.userroles where uro_user_id in ('$vamskt');
delete from gpi.user where usr_id in ('$vamskt');
insert into gpi.user values('$vamskt','$vamsi',0);
insert into gpi.userroles (select '$vamskt',rol_id from gpi.role r where r.ROL_ID <> 'MCY_Read');
insert into gpi.USERGROUP (select 'MERCURY',GRP_BU,GRP_ID,'$vamskt' from gpi.GROUP where GRP_ID in ('Benf_App','EU_exp','Pymt_Q'));
EOF
It works fine, if your sql command is somesql. You need give your sql command. Your defination include only some sql lines but nothing about sql interpreter.