Q4.3: How do I pipe the output of one isql to another?
The following example queries sysdatabases and takes each
database name and creates a string of the sort sp_helpdb
dbname and sends the results to another isql. This is
accomplished using bourne shell sh(1) and sed(1) to
strip unwanted output (see Q4.2):
#!/bin/sh
PASSWD=yuk
DSQUERY=GNARLY_HAIRBALL
echo "$PASSWD
print \"$PASSWD\"
go
select 'sp_helpdb ' + name + char(10) + 'go' from sysdatabases
go" | isql -U sa -S $DSQUERY -w 1000 | \
sed -e '/affected/d' -e '/---/d' -e '/Password:/d' | \
isql -U sa -S $DSQUERY -w 1000
To help you understand this you may wish to comment any series of
pipes and see what output is being generated.