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.
Sintaxe
SYSCS_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);