Search a certain char and insert new text if a match found

Have a file which has the create statement like below

create table emp
( empno integer,
empname char(50))
primary index(empno);

i need to find a string starting with create and ends with semi-colon ; . if so insert the below statement before create statement

rename table emp to emp_rename;

and after semi-colon ; need to insert the below statements

insert into emp sel * from emp_rename;
drop table emp_rename;

o/p will be like this:

rename table emp to emp_rename;
create table emp
( empno integer,
empname char(50))
primary index(empno);
insert into emp sel * from emp_rename;
drop table emp_rename;

first string is always create and last char is ; in my file
can some one help on this

have tried awk

awk '/^create/;$/ ddlfile.txt

but after getting the pattern, not sure how to write the new statement above and below create statements.

awk '
/create table/ {tn=$NF; print "rename table " tn " to " tn "_rename;"}
1
END {
   if (tn) {
      print "insert into " tn " sel * from " tn "_rename;"
      print "drop table " tn "_rename;"
   }
}
' infile

Here is a sample awk script with updated sample input sql file.

input file :

$ cat 1.sql
-- sample header
create table emp
( empno integer,
empname char(50))
primary index(empno);
insert into emp values (1,'Stones');--sample insertion
-- sample comment

output of my script :

$ ./sqlmode.sh 1.sql
-- sample header
rename table emp to emp_rename;
 create table emp ( empno integer, empname char(50)) primary index(empno);
insert into emp sel * from emp_rename;
drop table emp_rename;
insert into emp values (1,'Stones');--sample insertion
-- sample comment

the script :

$ cat sqlmode.sh
# process sql files
awk '/create table emp/,/primary index/{
query = query " " $0
next
}
query > "" {
print "rename table emp to emp_rename;"
print query
print "insert into emp sel * from emp_rename;"
print "drop table emp_rename;"
query = ""
}
1' $1
#