2012-05-01 15 views

答えて

2
select tabname from systables where tabname like "%bar%" 

が見つかりました!

1

基本的な回答は、システムカタログ(answeruser856753に示す)に対するクエリです。あなたはInformixデータベースのすべてのタイプに対して作業を確認したい場合、あなたはおそらく使用したい:

dbaccess dbname - <<'EOF' 
SELECT TabName FROM informix.SysTables WHERE TabName LIKE 'bar%'; 
EOF 

注意を他の回答では、クエリが名前にbarのどこが含まれているテーブル名と一致するLIKE '%bar%'を使用していること、barで始まるものだけではありません。 informix.SysTablesを使用すると、dbname(データベース)がMODE ANSIデータベースの場合でもクエリが機能します。所有者名がないと、照会はユーザーinformixによって実行された場合にのみモードANSIデータベースに対して機能します。

Informixで配布されているデータベースを照会するための主なコマンドラインツールは、dbaccessです。最初の引数はデータベース名で、2番目の引数(-)はスクリプトの名前です(この場合は-は 'read standard input'を意味します)。<<'EOF'の表記は 'このコマンドの標準入力ちょうどEOFを含む行までの行の集合です。 'EOF'の一重引用符は、入力が呼び出されたときに 'here-document'内のマテリアルに対してシェル拡張を行わないことを意味します。スクリプトがデータベースを選択した場合、データベース名の代わりに-を使用できます。コマンドラインあなたはこれでdbaccessから表形式の出力を得るでしょう。あなたがそのようなオプションを指定せずにdbaccessを実行した場合、それは呪いのような対話モードで実行されます。

。あなたは、しばしば「OUTPUT」コマンドを使用して出力を向上させることができます:

dbaccess dbname - <<'EOF' 
OUTPUT TO '/dev/null' WITHOUT HEADINGS 
    SELECT TabName FROM informix.SysTables WHERE TabName LIKE 'bar%'; 
EOF 
関連する問題