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

写句sql解决方法

2012-01-19 
写句sql本人使用游标实现一次就查询出一个数据库内所有用户表的前两条记录只是想问有没有办法不用游标就实

写句sql
本人使用游标实现一次就查询出一个数据库内所有用户表的前两条记录

只是想问有没有办法不用游标就实现这种功能?
use   [db_test]
declare   @sql   varchar(1000)
declare   @tbl   varchar(200)
declare   hyc   cursor
local
for   select   name   from   sysobjects   where   objectproperty(object_id(name), 'IsUserTable ')=1
open   hyc
while   @@fetch_status=0
begin
fetch   next   from   hyc   into   @tbl
set   @sql= 'select   top   2   *   from   '   +   @tbl
exec(@sql)
end
close   hyc
deallocate   hyc
go

[解决办法]
sp_msforeachtable 'SELECT TOP 2 * FROM ? '

---------------------
sp_msforeachtable这个存储过程是微软没有公布的,好像就是为你这个需求而生的.

热点排行