IF EXISTS (SELECT name 
   FROM   sysobjects
   WHERE  name = 'sp_CreateDB'
   AND type='P'
   )
    DROP PROCEDURE sp_CreateDB
GOCREATE PROCEDURE sp_CreateDB
@AppPath varchar(100)
AS
BEGIN
IF EXISTS (SELECT name 
   FROM   sysdatabases
   WHERE  name='ScienceResearch'
   )
DROP DATABASE ScienceResearch

IF @@error <> 0 GOTO E_Gen_Error exec('CREATE DATABASE ScienceResearch
ON(
NAME=ScienceResearch,
FILENAME="'+ @AppPath +'MainData.mdf",
SIZE=100,
FILEGROWTH=20)')
IF @@error <> 0 GOTO E_Gen_Error COMMIT TRANSACTION
RETURN E_Gen_Error:
PRINT 'ERROR!'
ROLLBACK TRANSACTION
RETURN
END
--你把存储过程中间的GO删除就可以了