函数不可以用exec这是sqlserver的约束
解决方案 »
- dbvisualizer6.0.7连接mssql2005
- 怎样使用变量查询唯一记录?
- SQLSERVER2005表中数据超过100W条怎么考虑性能问题?
- 公网上某台机器上有个dbf文件,请问在sqlserver中如何连接过去
- 还原数据库时42000错误!提示数据库XXX媒体集中有2个家族成员但是只提供了一个,必须提供所有的家族成员!
- sql server 2008连接查询局域网中另一个电脑的Access数据库
- 转换 varchar 值 '13811110001' 时溢出了整数列。超过了其中最大的整数值。
- sqlserver 标准版 = ????Money????????????????
- 急!!!请教如何获得数据库中对字段的描述
- 一个数据库应用,用BCB写成,采用ADO连接SQL SERVER服务器,在局域网内调试通过,发布于拨号网络则不能通过?
- ````````一个非常简单的表却头痛的问题!```````
- 请教高手~~表内复杂查询
AS
BEGIN
declare @sql varchar(8000)
set @sql = 'select viewMCExampleFactor.iFactorClassSn,viewMCGroundFactorDescribe.iIndex [主单]'
select @sql = @sql + ',sum(case sExampleNo when '''+ cast(sExampleNo as varchar(10))+''' then isnull(viewMCExampleFactor.iIndex,0) else 0 end) ['+ '案例'+cast(sAliasName as varchar(10))+']'
from (select distinct sExampleNo,sAliasName from viewMCExampleFactor) as a
exec(@sql)
END
不要懒varchar后加长度2、
@sql是有长度限制的,不要加多余的空格、回车create proc fcMCGroundFactorIndex
AS
BEGIN
declare @sql varchar(8000)
set @sql = ''
select @sql = @sql + ',sum(case sExampleNo when '''+ cast(sExampleNo as varchar(10))+''' then isnull(viewMCExampleFactor.iIndex,0) else 0 end) ['+ '案例'+cast(sAliasName as varchar(10))+']'
from (select distinct sExampleNo,sAliasName from viewMCExampleFactor) as a
exec('select viewMCExampleFactor.iFactorClassSn,viewMCGroundFactorDescribe.iIndex [主单] '+@sql+' from 你的表')
END
非确定性函数@@ERROR
FORMATMESSAGE
NEWID
IDENTITY
GETANSINULL
PATINDEX
@@ROWCOUNT
GETDATE
PERMISSIONS
@@TRANCOUNT
GetUTCDate
SESSION_USER
APP_NAME
HOST_ID
STATS_DATE
CHARINDEX
HOST_NAME
SYSTEM_USER
CURRENT_TIMESTAMP
IDENT_INCR
TEXTPTR
CURRENT_USER
IDENT_SEED
TEXTVALID
DATENAME
IDENTITY
USER_NAME
以上这些函数都不能在自定义函数中使用
或者
declare @sql nvarchar(4000)
execute sp_executesql @sql
AS
BEGIN
declare @sql varchar(8000)
set @sql = ''
select @sql = @sql + ',sum(case sExampleNo when '''+ cast(sExampleNo as varchar(10))+''' then isnull(viewMCExampleFactor.iIndex,0) else 0 end) ['+ '案例'+cast(sAliasName as varchar(10))+']'
from (select distinct sExampleNo,sAliasName from viewMCExampleFactor) as a
exec('select viewMCExampleFactor.iFactorClassSn,viewMCGroundFactorDescribe.iIndex [主单] '+@sql+' into ##全局临时表 from 你的表')
END
go......