| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「DB2」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
 
105行目: 105行目:
 
===定義===
 
===定義===
 
====[[DB2 テーブル定義をコピーする]]====
 
====[[DB2 テーブル定義をコピーする]]====
 +
 +
====DB2 列のデータタイプ変更====
 +
*https://www.ibm.com/support/knowledgecenter/ja/SSEPEK_10.0.0/admin/src/tpc/db2z_altercolumndatatype.html
 +
<pre>
 +
ALTER TABLE {テーブル名} ALTER COLUMN {列名} SET DATA TYPE {データ型 ex VARCHAR(40)};
 +
</pre>
 +
 
===更新===
 
===更新===
 
====[[DB2 別のテーブルの値で更新する]]====
 
====[[DB2 別のテーブルの値で更新する]]====

2021年2月8日 (月) 09:45時点における最新版

目次

DB2

DB2 XML DB (pureXML) | DB2 SQL PL |

  • DB2管理者必携

Express-C

インストール


グループとユーザーの作成

ユーザー サンプル・ユーザー名 サンプル・グループ名
インスタンス所有者 db2inst1 db2iadm1
fenced ユーザー db2fenc1 db2fsdm1
DB2 Administration Server のユーザー dasusr1 dasadm1
  • Linux オペレーティング・システムでグループを作成するには、以下のコマンドを入力します。
# groupadd -g 999 db2iadm1
# groupadd -g 998 db2fsdm1
# groupadd -g 997 dasadm1copy to clipboard
  • グループごとにユーザーを作成します。
# useradd -u 1004 -g db2iadm1 -m -d /home/db2inst1 db2inst1 
# useradd -u 1003 -g db2fsdm1 -m -d /home/db2fenc1 db2fenc1 
# useradd -u 1002 -g dasadm1 -m -d /home/dasusr1 dasusr1copy to clipboard
  • 次のように、初期パスワードを設定します。
# passwd db2inst1
# passwd db2fenc1
# passwd dasusr1

IBM Data Studio

接続とSQLの発行

CLP コマンドライン

コマンドラインオプションの確認

CLPでバックスペースが文字化け(Linux)

CLPコマンド

管理

権限

権限付与

GRANT {権限} ON {テーブル名} TO {ユーザー名}

権限削除

REVOKE {権限} ON {テーブル名} FROM {ユーザー名}

オブジェクト権限確認

SELECT * FROM SYSCAT.TABAUTH WHERE GRANTEE = '{ユーザー名}'

強制終了

db2stop force

すべてのプロセスの停止

接続しているアプリケーションを切断

db2 ==> FORCE APPLICATION ALL

情報

テーブル一覧取得

select tabschema,tabname,owner,tbspace from syscat.tables

インスタンス

デフォルトインスタンスを確認と変更

確認
>db2 get instance
変更
>set DB2INSTANCE=[インスタンス名]

設定

設定情報

トラブル

エラーコード

その他

バックアップ

DB2 ログと回復管理

DB2 バックアップ履歴の確認

SQL

定義

DB2 テーブル定義をコピーする

DB2 列のデータタイプ変更

ALTER TABLE {テーブル名} ALTER COLUMN {列名} SET DATA TYPE {データ型 ex VARCHAR(40)};

更新

DB2 別のテーブルの値で更新する

サブクエリで複数項目を更新する

削除

DB2 重複業を削除

自動番号付

DB2 ID列に自動採番

シーケンス

次の値を取得

select next value for {SEQUENCE_NAME} from sysibm.sysdummy1; 

値のリセット

alter sequence {SEQUENCE_NAME} restart with {NUMBER};

集合演算・結合

DB2 UNIONした結果をSELECTする

DB2 グループ化したテーブルを結合する

DB2 外部結合時の検索条件

DB2 共通の行を見つける

DB2 存在しない値を取得する

制御

DB2 CASE式とNULL

日付

DB2 日付操作

DB2 月末を求める

DB2 n ヶ月後を求める

書式・データ変換

DB2 CHAR関数による書式変換

DB2 文字列 数値変換

DB2 データ有無をフラグに変換

ダミーテーブル

DB2 ダミーテーブル

データ操作

DB2 先頭の1件をFETCHせずに取得する

集計

DB2 GROUP BY 拡張

DB2 結果に順位をふる

DB2 小計と合計と割合

関数

DB2 関数

コメント

COMMENT ON TABLE SETTINGS_MST IS '設定マスター'
;
COMMENT ON SETTINGS_MST(
    "DIVIDE_CD"     IS '区分コード',
    "COMMON_CD"     IS '共通コード'
)
;

再帰

DB2 再帰

DB2 再帰で区切りリストを作成

Oracle

Oracle開発者のためのDB2 SQLリファレンス.pdf

パフォーマンス

DB2 EXPLAIN の実行

DB2 SELECTステートメント最適化

DB2 索引スキャン

DB2 SQLアクセスパスのチューニング

DB2 マテリアライズ照会表の作成

ロック

モニター

制限


データ移行

エクスポート、インポート

CSVとして出力

EXPORT TO "c:\work\test.csv" OF DEL SELECT * FROM TEST

XML DB (pureXML)

XML DB (pureXML)

SQL PL

Tips

サンプルデータベースの作成

$ db2sampl -xml -sql

  Creating database "SAMPLE"...
  Connecting to database "SAMPLE"...
  Creating tables and data in schema "DB2INST1"...
  Creating tables with XML columns and XML data in schema "DB2INST1"...

  'db2sampl' processing complete.

CLPでバックスペースが文字化け(Linux)

Data Studio 4.1.2 が起動しない

org.osgi.framework.BundleException: モジュールの状態変更ロックを取得できませんでした:osgi.identity; osgi.identity="org.eclipse.core.runtime"; type="osgi.bundle"; version:Version="3.10.0.v20140318-2214"; singleton:="true" [id=1902] STARTED [STARTED]

以下を削除

  • .eclipse\org.eclipse.platform_4.4.2_2131968962_win32_win32_x86_64\configuration\org.eclipse.osgi\.manager\.fileTalbeLock