O procedimento do sistema SYSCS_UTIL.SYSCS_IMPORT_TABLE
importa dados de um arquivo de entrada para todas as colunas de uma tabela.
Se a tabela que vai receber os dados já contiver dados, os dados importados
poderão substituir ou ser anexado aos dados existentes.
SintaxeSYSCS_UTIL.SYSCS_IMPORT_TABLE (IN SCHEMANAME VARCHAR(128),
IN TABLENAME VARCHAR(128), IN FILENAME VARCHAR(32672),
IN COLUMNDELIMITER CHAR(1), IN CHARACTERDELIMITER CHAR(1),
IN CODESET VARCHAR(128), IN REPLACE SMALLINT)
Este procedimento não retorna resultado.
SCHEMANAME
Um argumento de entrada do tipo VARCHAR(128), que especifica o nome do
esquema da tabela. Passar um valor nulo resulta na utilização do nome
de esquema padrão
TABLENAME
Um argumento de entrada do tipo VARCHAR(128), que especifica o nome da
tabela para onde os dados serão importados.
Não pode ser uma tabela do sistema ou uma tabela temporária declarada.
Passar um valor nulo resulta em erro.
FILENAME
Um argumento de entrada do tipo VARCHAR(32672), que especifica o nome do
arquivo que contém os dados a serem importados.
Se não for especificado o caminho, será utilizado o diretório de trabalho
corrente.
Passar um valor nulo resulta em erro.
COLUMNDELIMITER
Um argumento de entrada do tipo CHAR(1), que especifica o delimitador de
coluna.
O caractere especificado é utilizado no lugar da vírgula para sinalizar o fim da
coluna.
Passar um valor nulo resulta na utilização do valor padrão;
o valor padrão é a vírgula (,).
CHARACTERDELIMITER
Um argumento de entrada do tipo CHAR(1), que especifica o delimitador de
caracteres.
O caractere especificado é utilizado no lugar das aspas para envolver a
cadeia de caracteres.
Passar um valor nulo resulta na utilização do valor padrão;
o valor padrão é aspas (").
CODESET
Um argumento de entrada do tipo VARCHAR(128), que especifica o código de
conjunto de caracteres dos dados no arquivo de entrada.
O nome do código de conjunto de caracteres deve ser igual ao de uma das
codificações de caracteres suportadas pelo Java.
Os dados são convertidos do código de conjunto de caracteres especificado para
o código de conjunto de caracteres do banco de dados (UTF-8).
Passar um valor nulo faz interpretar os dados do arquivo no mesmo
código de conjunto de caracteres da JVM em que está sendo executado.
REPLACE
Um argumento de entrada do tipo SMALLINT.
Um valor diferente de zero faz com que execute no modo de substituição,
enquanto um valor igual a zero faz com que execute no modo de inserção.
O modo de substituição exclui todos os dados existentes na tabela truncando o
objeto de dados, e insere os dados importados.
A definição da tabela e as definições dos índices não são alteradas.
O modo de inserção adiciona os dados importados à tabela, sem alterar os dados
existentes na tabela.
Passar um valor nulo resulta em erro.
Se o nome do esquema, da tabela ou da coluna foi criado usando um identificador
não delimitado, o nome deverá ser passado para o procedimento de importação
usando todas as letras em maiúsculo.
Se o nome do esquema, da tabela ou da coluna foi criado usando um identificador
delimitado, o nome deverá ser passado para o procedimento de importação com
letras maiúsculas e minúsculas, conforme utilizado na criação.
Exemplo
O exemplo a seguir importa dados para a tabela EQUIPE a partir de um
arquivo de dados delimitado chamado meu_arquivo.csv,
que utiliza o caractere de percentagem (%) como delimitador de cadeia de
caracteres, e o caractere ponto-e-vírgula (;) como delimitador de coluna:
CALL SYSCS_UTIL.SYSCS_IMPORT_TABLE
(null, 'EQUIPE', 'c:/output/meu_arquivo.csv', ';', '%', NULL,0);
Para obter mais informações sobre importação deve ser consultado o
.