segregate the file based on matching patterns

print 'test'
SETUSER 'dbo'
go
create proc abc
as
/Some code here/
go
SETUSER
go
print 'test1'
SETUSER 'dbo'
go
Create Procedure xyz
as
/some code here/
go
SETUSER
go
print 'test2'
SETUSER 'dbo'
go

now i want to create two files(with the proc names) out of it
abc.txt
xyz.txt

i need to cut the line from the first appeareance of "create" and before the first appeareance of "go"
and name the each file with the procedure name

so the two files will have the data

abc.txt will have
create proc abc
as
/Some code here/

xyz.txt will have
Create Procedure xyz
as
/some code here/

please advise on this issue

---------- Post updated at 10:09 AM ---------- Previous update was at 09:48 AM ----------

i tried
awk '/[cC]reate/,/^go/' a.txt> b.txt

how to replace set b.txt with proc name
and how to eliminate go

awk '/go/{f=0}/^[Cc]reate/{file=$NF".txt";f=1}f{print >> file}' file

Thanks dan it worked one shot