DECLARE curCur
READ_ONLY
FOR select name from sys.objects where type='U' and name like 'StknWIP%' order by name
declare @strsql nvarchar(300)
declare @objname varchar(40)
OPEN curCur
SET NOCOUNT ON
FETCH NEXT FROM curCur INTO @objname
WHILE (@@fetch_status =0)
BEGIN
set @strsql='select count(*) from '+@objname
-- PRINT 'add user defined code here'
-- eg.
PRINT @strsql
EXECUTE sp_executesql @strsql
FETCH NEXT FROM curCur INTO @objname
END
CLOSE curCur
DEALLOCATE curCur
SET NOCOUNT OFF
GO
2009年4月8日 星期三
CURSOR
DECLARE vend_cursor
FOR select name from sys.objects where name LIKE 'SA%' and type='U' order by name
declare @objname varchar(100)
DECLARE @SQLString nvarchar(500)
DECLARE @ParmDefinition nvarchar(500)
DECLARE @cntAffect int
OPEN vend_cursor
FETCH NEXT FROM vend_cursor into @objname
SET @SQLString = N'SELECT @cntAffectOut =count(*) from '+@objname
SET @ParmDefinition = N'@cntAffectOut int OUTPUT';
EXECUTE sp_executesql @SQLString, @ParmDefinition, @cntAffectOut=@cntAffect OUTPUT
IF @cntAffect>0
BEGIN
select @objname
SET @SQLString='select top 10 * from '+@objname
EXECUTE sp_executesql @SQLString
END
WHILE (@@FETCH_STATUS = 0)
BEGIN
FETCH NEXT FROM vend_cursor into @objname
SET @SQLString = N'SELECT @cntAffectOut =count(*) from '+@objname
SET @ParmDefinition = N'@cntAffectOut int OUTPUT';
EXECUTE sp_executesql @SQLString, @ParmDefinition, @cntAffectOut=@cntAffect OUTPUT
IF @cntAffect>0
BEGIN
select @objname
SET @SQLString='select top 10 * from '+@objname
EXECUTE sp_executesql @SQLString
END
END
CLOSE vend_cursor;
DEALLOCATE vend_cursor;
SET NOCOUNT OFF
FOR select name from sys.objects where name LIKE 'SA%' and type='U' order by name
declare @objname varchar(100)
DECLARE @SQLString nvarchar(500)
DECLARE @ParmDefinition nvarchar(500)
DECLARE @cntAffect int
OPEN vend_cursor
FETCH NEXT FROM vend_cursor into @objname
SET @SQLString = N'SELECT @cntAffectOut =count(*) from '+@objname
SET @ParmDefinition = N'@cntAffectOut int OUTPUT';
EXECUTE sp_executesql @SQLString, @ParmDefinition, @cntAffectOut=@cntAffect OUTPUT
IF @cntAffect>0
BEGIN
select @objname
SET @SQLString='select top 10 * from '+@objname
EXECUTE sp_executesql @SQLString
END
WHILE (@@FETCH_STATUS = 0)
BEGIN
FETCH NEXT FROM vend_cursor into @objname
SET @SQLString = N'SELECT @cntAffectOut =count(*) from '+@objname
SET @ParmDefinition = N'@cntAffectOut int OUTPUT';
EXECUTE sp_executesql @SQLString, @ParmDefinition, @cntAffectOut=@cntAffect OUTPUT
IF @cntAffect>0
BEGIN
select @objname
SET @SQLString='select top 10 * from '+@objname
EXECUTE sp_executesql @SQLString
END
END
CLOSE vend_cursor;
DEALLOCATE vend_cursor;
SET NOCOUNT OFF
訂閱:
文章 (Atom)