如何在所有数据库中一次添加用户?(Sybase-ASE)

How to add user at once in all databases?(Sybase-ASE)

我想使用以下命令将用户添加到所有数据库 sp_adduser 一次添加到所有数据库。什么查询可以同时访问所有数据库? 这通常可以在 Sybase 中执行吗?

这可能适用于 shell 脚本:

user=<your new sybase user>

isql -U ${UID} -P ${PWD} -S ${SERVER} <<! | tee [=10=].out
set nocount on
go
declare cur cursor for select name from master..sysdatabases order by 1
go
declare @l_name varchar(30), @l_sql varchar(777)
begin
  open cur
  fetch cur into @l_name
  while @@sqlstatus = 0
  begin
    print @l_name 
    fetch cur into @l_name
  end
  close cur
  deallocate cur
end  
go
!

for dbname in `cat [=10=].out`; do
  echo "
use ${dbname}
go
sp_adduser ${user}
go
" >>[=10=].sql
done

isql -U ${UID} -P ${PWD} -S ${SERVER} -i [=10=].sql