質問
MySQLでコマンドラインクエリを実行する場合、オプションでステートメントターミネータとして「 \ G 」を使用できます。また、結果セット列が画面全体に水平にリストされる代わりに、各列がリストされます。垂直方向に、対応するデータを右側に配置します。 DB2コマンドラインユーティリティを使用して、同じまたは類似の方法を実行する方法はありますか?
通常のMySQL結果の例
mysql> select * from tagmap limit 2;
+----+---------+--------+
| id | blog_id | tag_id |
+----+---------+--------+
| 16 | 8 | 1 |
| 17 | 8 | 4 |
+----+---------+--------+
代替MySQL結果の例:
mysql> select * from tagmap limit 2\G
*************************** 1. row ***************************
id: 16
blog_id: 8
tag_id: 1
*************************** 2. row ***************************
id: 17
blog_id: 8
tag_id: 4
2 rows in set (0.00 sec)
明らかに、これは、列が大きな文字列である場合、または結果セットに多くの列がある場合に非常に役立ちますが、これはおそらく説明できないほどフォーマットが優れていることを示しています。
解決
このようなオプションは、DB2コマンドラインクライアントでは使用できないと思います。 http://www.dbforums.com/showthread.php?t=708079を参照してください。 a>いくつかの提案。 DB2コマンドラインクライアントに関するより一般的な情報については、IBM DeveloperWorksの記事 DB2のコマンドラインプロセッサとスクリプト。
他のヒント
DB2コマンドラインユーティリティは、常にデータを表形式で表示します。つまり、水平方向の行と垂直方向の列です。 mysqlで行う\ Gステートメントターミネータのような他の形式はサポートしていません。ただし、はい、DB2_WORKLOAD = ANALYTICSが設定されている場合、列編成データをDB2テーブルに保存できます。
db2 => connect to coldb
Database Connection Information
Database server = DB2/LINUXX8664 10.5.5
SQL authorization ID = BIMALJHA
Local database alias = COLDB
db2 => create table testtable (c1 int, c2 varchar(10)) organize by column
DB20000I The SQL command completed successfully.
db2 => insert into testtable values (2, 'bimal'),(3, 'kumar')
DB20000I The SQL command completed successfully.
db2 => select * from testtable
C1 C2
----------- ----------
2 bimal
3 kumar
2 record(s) selected.
db2 => terminate
DB20000I The TERMINATE command completed successfully.
所属していません StackOverflow