版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sir_jun/article/details/51985363
create table test_llj_1 ( a varchar(max) );
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
if object_id('test_llj2') is not null
drop proc test_llj2
go
if object_id('V_RECEIVE_MESSAGE') is not null
drop view V_RECEIVE_MESSAGE
go
CREATE PROCEDURE test_llj2
AS
BEGIN
DECLARE @str VARCHAR(max);
declare @tbnms varchar(max) ;
declare @tbnm varchar(max) ;
declare @vcreate varchar(max);
declare @sqlu varchar(max);
declare @sqls varchar(max) ;
declare @sqlc varchar(max) ;
set @sqlu= ' union all ' ;
set @sqls= ' select * from ';
set @vcreate = 'create view V_RECEIVE_MESSAGE as ';
set @sqlc =' select * from ';
DECLARE c_test_main CURSOR FAST_FORWARD FOR
SELECT tbs.TABLE_NAME FROM INFORMATION_SCHEMA.tables tbs where tbs.TABLE_NAME like 'RECEIVE_%';
OPEN c_test_main;
WHILE 1=1
begin
FETCH NEXT FROM c_test_main INTO @tbnm;
set @sqlc=@sqlc+@tbnm +@sqlu +@sqls +' ';
if @@fetch_status != 0
BREAK;
end;
set @vcreate= @vcreate + substring (@sqlc , 0, LEN(@sqlc)-23) ;
insert into dbo.test_llj_1 (a) values(@vcreate);
exec ( @vcreate );
CLOSE c_test_main;
-- 释放游标.
DEALLOCATE c_test_main;
end
;
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
if object_id('test_llj2') is not null
drop proc test_llj2
go
if object_id('V_RECEIVE_MESSAGE') is not null
drop view V_RECEIVE_MESSAGE
go
CREATE PROCEDURE test_llj2
AS
BEGIN
DECLARE @str VARCHAR(max);
declare @tbnms varchar(max) ;
declare @tbnm varchar(max) ;
declare @vcreate varchar(max);
declare @sqlu varchar(max);
declare @sqls varchar(max) ;
declare @sqlc varchar(max) ;
set @sqlu= ' union all ' ;
set @sqls= ' select * from ';
set @vcreate = 'create view V_RECEIVE_MESSAGE as ';
set @sqlc =' select * from ';
DECLARE c_test_main CURSOR FAST_FORWARD FOR
SELECT tbs.TABLE_NAME FROM INFORMATION_SCHEMA.tables tbs where tbs.TABLE_NAME like 'RECEIVE_%';
OPEN c_test_main;
WHILE 1=1
begin
FETCH NEXT FROM c_test_main INTO @tbnm;
set @sqlc=@sqlc+@tbnm +@sqlu +@sqls +' ';
if @@fetch_status != 0
BREAK;
end;
set @vcreate= @vcreate + substring (@sqlc , 0, LEN(@sqlc)-23) ;
insert into dbo.test_llj_1 (a) values(@vcreate);
exec ( @vcreate );
CLOSE c_test_main;
-- 释放游标.
DEALLOCATE c_test_main;
end
;