请教存储过程2 select @sql = 'insert' + @t_table + ......exec @sql 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select @sql = 'insert' + @t_table + ...... ---這裡少個空格exec @sql直接這樣寫 declare @t_table varchar(100)---表變量declare @ch varchar(100)---條件set @t_table='a(a,b,b)'---或set @t_table ='a'set @ch='b,c,d from b where....'----樓主參照一下exec('insert into '+@t_table +' select '+@ch 我是想把代码写少一点。我的存储过程如下:ALTER PROCEDURE dbo.SearchPicRecordByHowPager/* ( @parameter1 datatype = default value, @parameter2 datatype OUTPUT )*/@m_keyword as nvarchar(200)=null, --英文关键字@m_cnkeyword as nvarchar(500)=null, --中文关键字@m_brand as char(50)=null, --品牌@m_photographyer as char(20)=null, --摄像师@m_how as nvarchar(20)=null, --查询的条件 @m_StartRow as int=null,@m_StopRow as int=nullAS /* SET NOCOUNT ON */ declare @t_table table ( [rownum] [int] IDENTITY (1, 1) Primary key NOT NULL , [imagenumber] [nvarchar] (20), [imagefilename] [nvarchar] (50), [keywords1] [nvarchar] (200), [keywords2] [nvarchar] (200), [orientation] [nvarchar] (50), [pformat] [char] (10), [categoryKeywords] [nvarchar] (500), [photographer] [char] (50), [cnkeywords1] [nvarchar] (500), [cnkeywords2] [nvarchar] (500), [brand] [char] (50), [addinfofilename] [nvarchar] (50), [cnformat] [char] (20), [cnorientation] [nvarchar] (100), [cncategoryKeywords] [nvarchar] (1000), [sourcedir] [nvarchar](400), [imagelevel] [int], [adddatetime] [datetime], [clicktimes] [int] ) set rowcount @m_StopRow --插入到@t_table变量中 if @m_how='ONLYCNKEYWORD' insert @t_table( [imagenumber], [imagefilename], [keywords1], [keywords2], [orientation], [pformat], [categoryKeywords], [photographer], [cnkeywords1], [cnkeywords2], [brand], [addinfofilename], [cnformat], [cnorientation], [cncategoryKeywords], [sourcedir], [imagelevel], [adddatetime], [clicktimes] ) select * from t_imagesinfo where cnkeywords1 like @m_cnkeyword order by imagelevel if @m_how='CNKEYWORDANDBRAN' insert @t_table( [imagenumber], [imagefilename], [keywords1], [keywords2], [orientation], [pformat], [categoryKeywords], [photographer], [cnkeywords1], [cnkeywords2], [brand], [addinfofilename], [cnformat], [cnorientation], [cncategoryKeywords], [sourcedir], [imagelevel], [adddatetime], [clicktimes] ) select * from t_imagesinfo where cnkeywords1 like @m_cnkeyword and brand=@m_brand order by imagelevel select * from @t_table where rownum >=@m_StartRow order by rownum RETURN 如上把if这里的代码写少点因为how参数有很多 一个关于复制服务的问题 sql 存储过程问题,麻烦帮忙看下哪里错啦~ 在线等 存储过程优化问题 请问怎样用一条sql实现 求千万级服务器配置方案 mssql中无法更改表中的数据,怎么回事? sql 查询问题 identity列如何清0 邹建兄弟,请进来一下 事务问题??? 还原数据库后,如果用sql语句把原有的用户给删除了? 帮我看看,发生了错误:对象名 '#t' 无效
exec @sql
直接這樣寫
declare @t_table varchar(100)---表變量
declare @ch varchar(100)---條件
set @t_table='a(a,b,b)'---或set @t_table ='a'
set @ch='b,c,d from b where....'
----樓主參照一下exec('insert into '+@t_table
+' select '+@ch
ALTER PROCEDURE dbo.SearchPicRecordByHowPager
/*
(
@parameter1 datatype = default value,
@parameter2 datatype OUTPUT
)
*/
@m_keyword as nvarchar(200)=null, --英文关键字
@m_cnkeyword as nvarchar(500)=null, --中文关键字
@m_brand as char(50)=null, --品牌
@m_photographyer as char(20)=null, --摄像师
@m_how as nvarchar(20)=null, --查询的条件
@m_StartRow as int=null,
@m_StopRow as int=null
AS
/* SET NOCOUNT ON */
declare @t_table table
(
[rownum] [int] IDENTITY (1, 1) Primary key NOT NULL ,
[imagenumber] [nvarchar] (20),
[imagefilename] [nvarchar] (50),
[keywords1] [nvarchar] (200),
[keywords2] [nvarchar] (200),
[orientation] [nvarchar] (50),
[pformat] [char] (10),
[categoryKeywords] [nvarchar] (500),
[photographer] [char] (50),
[cnkeywords1] [nvarchar] (500),
[cnkeywords2] [nvarchar] (500),
[brand] [char] (50),
[addinfofilename] [nvarchar] (50),
[cnformat] [char] (20),
[cnorientation] [nvarchar] (100),
[cncategoryKeywords] [nvarchar] (1000),
[sourcedir] [nvarchar](400),
[imagelevel] [int],
[adddatetime] [datetime],
[clicktimes] [int]
)
set rowcount @m_StopRow
--插入到@t_table变量中
if @m_how='ONLYCNKEYWORD'
insert @t_table(
[imagenumber],
[imagefilename],
[keywords1],
[keywords2],
[orientation],
[pformat],
[categoryKeywords],
[photographer],
[cnkeywords1],
[cnkeywords2],
[brand],
[addinfofilename],
[cnformat],
[cnorientation],
[cncategoryKeywords],
[sourcedir],
[imagelevel],
[adddatetime],
[clicktimes]
) select * from t_imagesinfo where cnkeywords1 like @m_cnkeyword order by imagelevel
if @m_how='CNKEYWORDANDBRAN'
insert @t_table(
[imagenumber],
[imagefilename],
[keywords1],
[keywords2],
[orientation],
[pformat],
[categoryKeywords],
[photographer],
[cnkeywords1],
[cnkeywords2],
[brand],
[addinfofilename],
[cnformat],
[cnorientation],
[cncategoryKeywords],
[sourcedir],
[imagelevel],
[adddatetime],
[clicktimes]
) select * from t_imagesinfo where cnkeywords1 like @m_cnkeyword and brand=@m_brand order by imagelevel
select * from @t_table where rownum >=@m_StartRow order by rownum
RETURN 如上把if这里的代码写少点因为how参数有很多