Entry

【mysql】 DBをワイルドカードで指定したい人生だった

ご無沙汰しております。ご無沙汰しております。
いつもの「覚書だけ置いて帰る」の時間です。

やりたかったことといえば、 select col1,col2 from `%`.table だけなんですよ。
grantの時はDBをワイルドカードで指定できるってことなんだから、やれていいんじゃないのこれ!

で、出来上がったごりごりコードがこれです。
DBIが使えないサーバだったので(でもシェルで書く気はなかった)、もうごりごりにもほどがあります。供養です。

#!/usr/bin/perl
use strict;
my $DBI='mysql -uID -pPASS ';
my @dbs = qx{$DBI -e "show databases;"|grep _};
`echo '' > result`; #ここのやるきのなくしかたがひどい
foreach my $db(@dbs){
print $db;
  chomp($db);
  if ( $db !~ '_schema$'){
    my $ret = qx{$DBI $db -e "select COL1,COL2 from TABLE"|grep -v COL1};
    open(DATA, '>> result') or die("error :$!"); print DATA $ret; close(DATA);
  }
}
exit 0;

何が云いたいかというと、ほんとにselectのときDB名のとこワイルドカード使えないのん…?

Pagination

Comment

  • コメントはまだありません。

Post Your Comment

  • コメントを入力してください。
登録フォーム
Name
Mail
URL
Comment
閲覧制限
投稿キー(スパム対策に、投稿キー を半角で入力してください。)

Utility

Calendar

11 2021.12 01
SMTWTFS
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -