I would say it is really simple.
create table to held view name and status flag
something like
create table myViews as
(
veiwName varchar(200) not null,
status_cd char(1),
primary key (dndveiwName)
)
1. create SSIS package
2. Add package variable vieName (string) and variable isLast string with default 'N'
3. Add SQL connection
3. Add execute script task, connect task to SQL and put inside SQL script to clear myViews table and refill with status 'P'. After that "select top 1 @vieName = vieName from myViews where status_cd = 'P'"
and "select @isLast = case when count(*) = 1 then 'Y' else 'N' end from myViews where status_cd = 'P'"
and last one "select isLast = @isLast , vieName = @vieName"
4. set property on script task ResultSet to Single Row and on result set map variables to fields from last select statement.
5. Add for loop container set on container Fro Loop evalExpression to @[User::gIsLast] == "N"
6. Inside container you need to run export to CVS from view in @vieName (dataflow task). And after extraction done Execute SQL script task (change status on current view in myViews, and "select top 1 @vieName = vieName from myViews where status_cd = 'P'" and "select @isLast = case when count(*) = 1 then 'Y' else 'N' end from myViews where status_cd = 'P'")
on that task you will need to pass in parameter @vieName and get back single row as in first script
I hope I gave you enough details...