帮我看看这条SQL语句
DECLARE @PageNum INT
SET @PageNum=5
DECLARE @UserID VARCHAR(20)
SET @UserID='ningbin'
EXEC('select top '+@PageNum+' LogID,LogTitle,LogContent,UserName,LogMenuName,LogDateTime
from tbl_log inner join tbl_User on tbl_User.UserID=tbl_log.UserID
inner join tbl_LogMenu on tbl_LogMenu.LogMenuID=tbl_log.LogMenuID
where tbl_log.UserID='+ @UserID +'
ORDER BY LogDateTime DESC')错误
服务器: 消息 207,级别 16,状态 3,行 1
列名 'ningbin' 无效。表中 是有数据的
DECLARE @PageNum INT
SET @PageNum=5
DECLARE @UserID VARCHAR(20)
SET @UserID='ningbin'
EXEC('select top '+@PageNum+' LogID,LogTitle,LogContent,UserName,LogMenuName,LogDateTime
from tbl_log inner join tbl_User on tbl_User.UserID=tbl_log.UserID
inner join tbl_LogMenu on tbl_LogMenu.LogMenuID=tbl_log.LogMenuID
where tbl_log.UserID='+ @UserID +'
ORDER BY LogDateTime DESC')错误
服务器: 消息 207,级别 16,状态 3,行 1
列名 'ningbin' 无效。表中 是有数据的
SET @PageNum=5
DECLARE @UserID VARCHAR(20)
SET @UserID='ningbin'
EXEC('select top '+@PageNum+' LogID,LogTitle,LogContent,UserName,LogMenuName,LogDateTime
from tbl_log inner join tbl_User on tbl_User.UserID=tbl_log.UserID
inner join tbl_LogMenu on tbl_LogMenu.LogMenuID=tbl_log.LogMenuID
where tbl_log.UserID='''+ @UserID +'''
ORDER BY LogDateTime DESC')
-->
where tbl_log.UserID='''+ @UserID +'''
在TOP后面使用变量
(爱新觉罗.毓华 2008-01-02 广东深圳)
*/--SQL SERVER 2005 的写法
use adventureworks
goDECLARE @Percentage int
SET @Percentage = 1
SELECT TOP (@Percentage) PERCENT
Name
FROM Production.Product
ORDER BY Name/*
Name
----------------------
Adjustable Race
All-Purpose Bike Stand
AWC Logo Cap
BB Ball Bearing
Bearing Ball
Bike Wash - Dissolver(6 行受影响)
*/-----------------------------------
--SQL SERVER 2000 的写法
create table a([id] [int])
insert into a(id) values(1)
insert into a(id) values(2)
insert into a(id) values(3)
insert into a(id) values(4)
insert into a(id) values(5)declare @num as int
declare @sql as varchar(2000)
set @num = 2
set @sql = 'select top ' + cast(@num as char) + ' * from a'
exec(@sql)drop table a
/*
id
-----------
1
2
*/