このシステムプロシージャーを使用するには、CREATE SERVER 文でリモートサーバーを定義する必要があります。
FORWARD TO 文とは異なり、sp_forward_to_remote_server はプロシージャー内で使用できます。ただし、このストアドプロシージャーは、リモート結果セットのスキーマが任意なので、SELECT 文の FROM 句の中では使用できません。リモート結果セットのフェッチは、sp_forward_to_remote_server
プロシージャーで呼び出されるストアドプロシージャーでカーソルを宣言することで実行できます。
CREATE FUNCTION fetch_num_remote_tables ( IN server char(128) ) RETURNS int
BEGIN
DECLARE num_tables int;
DECLARE curs CURSOR FOR CALL sp_forward_to_remote_server
( server, 'SELECT COUNT(*) FROM sys.systable' );
OPEN curs;
FETCH next curs INTO num_tables;
CLOSE curs;
RETURN num_tables;
END