日期:2014-05-19  浏览次数:20455 次

安装部署时SQL脚本出错的问题
部署都是没有问题的,只是在安装时报错,sql脚本是自动生成的,里面有个触发器
报错说:CREATE   TRIGGER   必须时批查询中的第一条语句
如果我把触发器脚步删了,就没有错误,安装成功,求高手帮忙,只有这些分了,脚本代码如下:
ALTER   TABLE   [dbo].[T_SYSTEM_USER_RIGHT]   ADD  
CONSTRAINT   [DF_T_SYSTEM_USER_RIGHT_IF_ADD]   DEFAULT   (0)   FOR   [IF_ADD],
CONSTRAINT   [DF_T_SYSTEM_USER_RIGHT_IF_MODIFY]   DEFAULT   (0)   FOR   [IF_MODIFY],
CONSTRAINT   [DF_T_SYSTEM_USER_RIGHT_IF_DELETE]   DEFAULT   (0)   FOR   [IF_DELETE],
CONSTRAINT   [DF_T_SYSTEM_USER_RIGHT_IF_QUERY]   DEFAULT   (0)   FOR   [IF_QUERY],
CONSTRAINT   [DF_T_SYSTEM_USER_RIGHT_IF_PRINT]   DEFAULT   (0)   FOR   [IF_PRINT],
CONSTRAINT   [DF_T_SYSTEM_USER_RIGHT_IF_CHECK]   DEFAULT   (0)   FOR   [IF_CHECK]
--GO--

SET   QUOTED_IDENTIFIER   OFF  
--GO--
SET   ANSI_NULLS   ON  
--GO--
insert   into   t_system_user(user_id,user_name,sex,password,dept_id)values   ( 'admin ', '管理员 ', '男 ', 'c4ca4238a0b923820dcc509a6f75849b ', '1 ')
--GO--
CREATE   TRIGGER   aa   ON   [dbo].[T_CHECK_INFO]  
FOR   INSERT,   UPDATE,   DELETE  
AS

declare   @check_date   datetime,
@check_type   varchar(60),
@RESULT   varchar(500),
@sum   varchar(4000),
@userid   varchar(8)

select   @check_date=check_date,@check_type=check_type,@RESULT=RESULT,@userid=user_id
from   inserted

set   @sum= '     '+DATENAME   (year,@check_date)+ '年   '+@check_type+ ': '+@RESULT

update   T_SYSTEM_USER   set   CURE=CURE+@sum   where   user_id=@userid
--GO--
SET   QUOTED_IDENTIFIER   OFF  
--GO--
SET   ANSI_NULLS   ON  
--GO--

这里是后面的一部分,脚本太长了,可以肯定的是一定有这里面的表,触发器也测试成功

------解决方案--------------------
你把这个脚本放到单独的文件中啊,创建了表后,再运行这个脚本,我试过可以的