Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
dbo.migrate_remote_fks_list テーブルにリストされている各テーブルの外部キーを作成します。
sa_migrate_create_fks( i_table_owner )
i_table_owner SQL Anywhere ターゲットデータベースで、マイグレート後の外部キーを所有するユーザを指定する VARCHAR(128) パラメータ。別のユーザに属しているテーブルをマイグレートする場合は、マイグレートするそれぞれのユーザに対してこのプロシージャを実行します。i_table_owner は、GRANT CONNECT 文を使用して作成されます。このパラメータの値は必須です。
このプロシージャは、dbo.migrate_remote_fks_list テーブルにリストされている各テーブルの外部キーを作成します。i_table_owner 引数で指定したユーザが、ターゲットデータベース内の外部キーを所有します。
SQL Anywhere ターゲットデータベース内のテーブルの所有者がすべて同じでない場合は、外部キーをマイグレートする必要のあるテーブルを所有しているユーザごとにこのプロシージャを実行する必要があります。
このシステムプロシージャは、他のいくつかのマイグレーションシステムプロシージャと組み合わせて使用されます。そのとき、以下の順序で実行する必要があります。
sa_migrate_create_remote_table_list
sa_migrate_create_tables
sa_migrate_data
sa_migrate_create_remote_fks_list
sa_migrate_create_fks
sa_migrate_drop_proxy_tables
または、sa_migrate システムプロシージャを使用すると、1 回ですべてのテーブルをマイグレートできます。
次のシステム権限が必要です。
ALTER ANY TABLE
CREATE ANY INDEX
なし。
最初の文は、dbo.migrate_remote_table_list に一覧されているテーブルの外部キーのリストを作成します。2 番目の文は、dbo.migrate_remote_fks_list テーブルに基づいて外部キーを作成します。SQL Anywhere ローカルデータベースでは、外部キーはユーザ LocalUser が所有するテーブルに属します。
CALL sa_migrate_create_remote_fks_list( 'RemoteSA' ); CALL sa_migrate_create_fks( 'LocalUser' );