select @sCrmstr='select @scardno=scardno,nmoney from '+@sCrm+'..kcardaccount where sCustomer_c='+@sCustomer_c exec sp_executesql @sCrmstr,N@scardno varchar(1000) out --类似这样,用sp_executesql
exec sp_executesql @sql ,N@scardno varchar(1000) out ,@scardno out--这样
改一下: select @sCrmstr='select scardno,nmoney from '''+@sCrm+'''..kcardaccount where sCustomer_c='''+@sCustomer_c+'''' exec (@sCrmstr) 加''''就行,
第一个变量就表名加多一个[dbo]select @sCrmstr='select scardno,nmoney from '+@sCrm+'.dbo.kcardaccount where sCustomer_c='''+@sCustomer_c+''''--在这里加'''' exec (@sCrmstr)
select @sCrmstr='select @CardNo=scardno,@nMoneyLeave=nMoney from '+@sCrm+'..kcardaccount where sCustomer_c='+@sCustomer_c exec sp_executesql @sCrmstr,N'@CardNo nvarchar(20) output,@nMoneyLeave numeric(12,2) output',@CardNo output,@nMoneyLeave output 这样就OK了,呵呵
exec sp_executesql @sCrmstr,N@scardno varchar(1000) out --类似这样,用sp_executesql
declare @sCrmstr nvarchar(4000)
declare @sCrm nvarchar(250),@sCustomer_c nvarchar(50)
select @sCrmstr='select @scardno=scardno,nmoney from '+@sCrm+'..kcardaccount where sCustomer_c='+@sCustomer_c
exec sp_executesql @sCrmstr,N'@scardnoint output',@scardno output
select @scardno
select @sCrmstr='select scardno,nmoney from '''+@sCrm+'''..kcardaccount where sCustomer_c='''+@sCustomer_c+''''
exec (@sCrmstr)
加''''就行,
exec (@sCrmstr)
exec sp_executesql @sCrmstr,N'@CardNo nvarchar(20) output,@nMoneyLeave numeric(12,2) output',@CardNo output,@nMoneyLeave output
这样就OK了,呵呵