解决方案 »
- 添加约束时出现错误提示
- 一个表中,同一个材料编码对应的多个成本价,如何找出同一个材料编码中,成本价差别最大的一种?
- 急问一个SQL问题(单表),在线等!
- 统计收入sql语句,求求求,自己写不出来......
- sql查询语句的效率
- sql server安装遇到的问题
- 多表连接的问题
- sql server 2000 在 windows 2003 enterprise edition 上安装需要序列号?
- 用RDO连接数据库,结果集为啥总是只读?
- 本人刚学习完了SQL server2008 ,想问一下,3维的数据应该怎么设计表?
- 送分啦,走过路过不要错过啊,远程数据库数据同步问题
- 请教多表关联查询的问题
SET @SQLStr2='UPDATE @TableName SET CHECKSTATETIMES=CONVERT(varchar(50), GETDATE(), 20),CHECKUSERID=@CHECKUSERID,CHECKUSERNAME=
@CHECKUSERNAME,APPROVALRESULT=@ApprovalResultFieldVal,APPROVALREASON=@APPROVALREASON,STAMPTIME=CONVERT(varchar(50), GETDATE(), 20),STAMPRENID=
@CHECKUSERID,STAMPREN=@CHECKUSERNAME where SYSID='''+@keyval+''''
Exec sp_executesql @SQLStr2
set @intError_S1 = @@ERROR
END是这样吗?运行后还是不行,表中的字段还是没有修改,update没执行!
http://blog.csdn.net/roy_88/article/details/3020586
(
@TableName nvarchar(100), --申请审批表名称
@keyval nvarchar(50), --申请表主键
@ApprovalResultFieldVal nvarchar(50), --审批结果字典
@CHECKSTATETIMES datetime,--审批时间
@CHECKUSERID nvarchar(50),--审批人ID
@CHECKUSERNAME nvarchar(50),--审批人
@APPROVALREASON nvarchar(100) --审批备注
)AS
declare @CONTRACTNOTYPE nvarchar(100)
declare @SQLStr nvarchar(2000)
declare @SQLStr1 nvarchar(2000)
declare @SQLStr2 nvarchar(2000)
--declare @number int
declare @mainnumber int
declare @intErrorCode int=0
declare @intError_S1 int
--declare @intError_S2 int
--declare @intError_S3 int
declare @Status int=0
SET XACT_ABORT ON
BEGIN TRAN
--审批之前查看子表旅客人数
--select @number=count(*) from VIEW_RENWOYOU_ESIGNATURE where ectsysid=@keyval
--修改申请电子合同的审批字段
--modify by zgd 20141104
BEGIN
set @CONTRACTNOTYPE='CONTRACTNOTYPE'
set @SQLStr=N'select '+@CONTRACTNOTYPE+' from '+@TableName+' where SYSID='''+@keyval+''' '
Exec sp_executesql @SQLStr
--select @CONTRACTNOTYPE=CONTRACTNOTYPE,@mainnumber=TOURISTNO from @TableName where SYSID=@keyval
if @CONTRACTNOTYPE='0' --and @mainnumber=@number
BEGIN
--set @CHECKSTATETIMES='CHECKSTATETIMES' set @CHECKUSERID='CHECKUSERID' set @CHECKUSERNAME='CHECKUSERNAME'
--set @APPROVALREASON='APPROVALREASON' set @ApprovalResultFieldVal='ApprovalResultFieldVal'
set @SQLStr1='update ['+@TableName+'] SET CHECKSTATETIMES='+@CHECKSTATETIMES+',CHECKUSERID='+@CHECKUSERID+',CHECKUSERNAME='
+@CHECKUSERNAME+',APPROVALRESULT='+@ApprovalResultFieldVal+',APPROVALREASON='+@APPROVALREASON+' where SYSID='''+@keyval+''''
Exec sp_executesql @SQLStr1
set @intError_S1 = @@ERROR
END
else if @CONTRACTNOTYPE='1' --and @mainnumber=@number
BEGIN
SET @SQLStr2='UPDATE @TableName SET CHECKSTATETIMES=CONVERT(varchar(50), GETDATE(), 20),CHECKUSERID='+@CHECKUSERID+',CHECKUSERNAME='
+@CHECKUSERNAME+',APPROVALRESULT='+@ApprovalResultFieldVal+',APPROVALREASON='+@APPROVALREASON+',STAMPTIME=CONVERT(varchar(50), GETDATE(), 20),STAMPRENID='
+@CHECKUSERID+',STAMPREN='+@CHECKUSERNAME+' where SYSID='''+@keyval+''''
Exec sp_executesql @SQLStr2
set @intError_S1 = @@ERROR
END
END
SET @intErrorCode = @intError_S1
IF @intErrorCode = 0
BEGIN
SET @Status = 1
COMMIT TRAN
END
ELSE
ROLLBACK TRAN
select @Status as ExcuteStatus
RETURN