create proc up_proc1
@X int,
@Y int
as
declare @SQL varchar(1000)
set @SQL = 'SELECT TOP '
+cast(@X as varchar)
+' * FROM(SELECT TOP '
+cast(@Y as varchar)
+' * FROM tables ORDER BY ID DESC) DERIVEDTBL ORDER BY ID ASC'
exec (@SQL)
@X int,
@Y int
as
declare @SQL varchar(1000)
set @SQL = 'SELECT TOP '
+cast(@X as varchar)
+' * FROM(SELECT TOP '
+cast(@Y as varchar)
+' * FROM tables ORDER BY ID DESC) DERIVEDTBL ORDER BY ID ASC'
exec (@SQL)
建议你看看table类型的用法,通过sp_executesql 函数返回table类型变量,然后select 变量
use northwind
go
create proc up_proc1
@X int,
@Y int
as
declare @SQL varchar(1000)
set @SQL = 'SELECT TOP '
+cast(@X as varchar)
+' * FROM(SELECT TOP '
+cast(@Y as varchar)
+' * FROM orders ORDER BY orderID DESC) DERIVEDTBL ORDER BY orderID ASC'
exec (@SQL)
goSELECT *
FROM OPENROWSET('SQLOLEDB','waggie';'sa';'',
'exec Northwind.dbo.up_proc1 11,33')