Sintaxe

CREATE [OR REPLACE] SERVER [IF NOT EXISTS] server_name
    FOREIGN DATA WRAPPER wrapper_name
    OPTIONS (option [, option] ...)

option:
  { HOST character-literal
  | DATABASE character-literal
  | USER character-literal
  | PASSWORD character-literal
  | SOCKET character-literal
  | OWNER character-literal
  | PORT numeric-literal }

Descrição

Esta istrução cria a definição de um servidor para usar com o mecanismo de armazenamento FEDERADO. A instrução CREATE SERVER cria uma nova linha dentro da tabela no servidor dentro do banco de dados mysql. Esta instrução requer o privilégio SUPER.

O nome do servidor (server_name), deveria ser uma referência única ao servidor. As definições são globais dentro do escopo do servidor, não é possível restringir a definição do servidor a um banco de dados específico. server_name tem um comprimento máximo de 65 caracteres (nomes com mais de 64 caracteres são truncados silenciosamente), e não é sensível a maiúsculas e minúsculas. Você pode especificar o nome como um string entre aspas.

O wrapper_name deveria ser mysql, e pode ficar entre aspas simples. Outros valores para wrapper_name não são atualmente suportados.

Para cada opção você deve especificar um caracter literal ou um numérico literal. Caracteres literais são UTF-8, suportam um comprimento máximo de 64 caracteres e têm por padrão um string vazio. Literais de String são truncados silenciosamente para 64 caracteres. Literais numéricos devem ser um número entre 0 e 9999, o valor padrão é 0.

  • Nota*: Note que a opção OWNER não é aplicada atualmente, e não tem efeito sobre a propriedade ou a operação da conexão do servidor que é criada.

A instrução CREATE_SERVER cria uma entrada na tabela mysql.server que pode ser usada posteriormente com a instrução CREATE TABLE ao criar uma tabela FEDERADA. As opções que você especifica serão usadas para preencher as colunas na tabela mysql.server. As colunas da tabela são Server_name, Host, Db, Username, Password, Port and Socket.

Exemplos

CREATE SERVER s
FOREIGN DATA WRAPPER mysql
OPTIONS (USER 'Remote', HOST '192.168.1.106', DATABASE 'test');

OR REPLACE e IF NOT EXISTS:

CREATE SERVER s 
FOREIGN DATA WRAPPER mysql 
OPTIONS (USER 'Remote', HOST '192.168.1.106', DATABASE 'test');
ERROR 1476 (HY000): The foreign server, s, you are trying to create already exists

CREATE OR REPLACE SERVER s 
FOREIGN DATA WRAPPER mysql 
OPTIONS (USER 'Remote', HOST '192.168.1.106', DATABASE 'test');
Query OK, 0 rows affected (0.00 sec)

CREATE SERVER IF NOT EXISTS s 
FOREIGN DATA WRAPPER mysql 
OPTIONS (USER 'Remote', HOST '192.168.1.106', DATABASE 'test');
Query OK, 0 rows affected, 1 warning (0.00 sec)

SHOW WARNINGS;
+-------+------+----------------------------------------------------------------+
| Level | Code | Message                                                        |
+-------+------+----------------------------------------------------------------+
| Note  | 1476 | The foreign server, s, you are trying to create already exists |
+-------+------+----------------------------------------------------------------+

Comments

Comments loading...