CREATE PROCEDURE dbo.SelectByGUID
@GUID char(36),
@dd decimal(18,2),
@rtn decimal(18,2) Output
as
select @rtn=aa-@dd from test where GUID=@GUID
@GUID char(36),
@dd decimal(18,2),
@rtn decimal(18,2) Output
as
select @rtn=aa-@dd from test where GUID=@GUID
insert into ai select 'a'
insert into ai select 'b'
godeclare @sql nvarchar(4000),@nn varchar(100)
select @sql='select @n=i from ai where i=@a'
exec sp_executesql @sql,N'@n varchar(100) output,@a varchar(100)',@nn output,@a='a'
select @nn
@GUID char(36),
@dd decimal(18,2),
@rtn decimal(18,2) Output
as
Select @rtn=aa-@dd from test where GUID=@GUID
GO
@GUID char(36),
@dd decimal(18,2),
@rtn decimal(18,2) Output
as
select @rtn=aa-@dd from test where GUID=@GUID
这个条件根本就找不到记录,老是同一条中
@GUID char(36),
@dd decimal(18,2),
@rtn decimal(18,2) Output
as
select @rtn=aa-@dd from test where GUID=@GUID
go
楼主的意思是什么?我的GUID是nchar(36)类型根据 where GUID=@GUID
这个条件根本就找不到记录,老是同一条中
@GUID char(36),
@dd decimal(18,2),
@rtn decimal(18,2) Output
as
select @rtn=aa-@dd from test where GUID=@GUID
go
楼主的意思是什么?我的GUID是nchar(36)类型根据 where GUID=@GUID
这个条件根本就找不到记录,老是同一条中
@GUID varchar(36), --这里用var类型
@dd decimal(18,2),
@rtn decimal(18,2) Output
as
declare @strSQL nvarchar(1000)select @strSQL = N'Select @rtn=aa-@dd from test where GUID=''' + @GUID + ''''exec (@strSQL)
GO
@GUID varchar(36), --这里用var类型
@dd decimal(18,2),
@rtn decimal(18,2) Output
as
declare @strSQL nvarchar(1000)Select @rtn=aa-@dd from test where GUID=@GUIDGO
@GUID varchar(36),
@dd decimal(18,2),
@rtn decimal(18,2) Output
as
declare @strSQL nvarchar(1000)set @strsql=N'Select @rtn=aa-'+cast(@dd as nvarchar(10))+' from test where GUID='''+@GUID+''''exec sp_executesql @sql,N'@rtn int output',@rtn outputGO