首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

where后头加EXEC('')

2013-12-19 
where后面加EXEC('')我目的很简单,就是写了一个存储过程,CREATE Procedure [dbo].[P_Report_Sys

where后面加EXEC('')
我目的很简单,就是写了一个存储过程,


CREATE Procedure [dbo].[P_Report_System]
(
 @where nvarchar(500)
)
select 
。。。。。。。
from 表
where 1=1 exec(@where)

EXEC P_Report_System ' and ecoa.codename = ''C'' '




(8 行受影响)
消息 156,级别 15,状态 1,第 1 行
关键字 'and' 附近有语法错误。

这样总是不行,求了解的大哥大姐们帮帮我,谢谢啊!


[解决办法]
改成这样试试:


CREATE Procedure [dbo].[P_Report_System]
(
 @where nvarchar(500)
)

declare @sql nvarchar(4000)

set @sql = 'select * from 表 where 1=1 '+@where

exec(@sql)
go

EXEC P_Report_System ' and ecoa.codename = ''C'' '


[解决办法]
create Procedure [dbo].[P_Report_System]
(
 @where nvarchar(500)
)
as
DECLARE @sql nvarchar(max)
SET @sql='select *
from sys.sysprocesses
where 1=1 '+@where
EXEC(@sql)
 
EXEC P_Report_System ' and ecoa.codename = ''C'' '

热点排行