-- >>>>> Abre os campos sem alias <<<<<
set pagesize 500;
select lower(RPAD(T.COLUMN_NAME,
20,
' ') || ',-- ' || t.DATA_TYPE || '(' || case
when t.DATA_TYPE = 'NUMBER' then
T.DATA_PRECISION || ',' || T.DATA_SCALE
else
cast(T.DATA_LENGTH as varchar2(10))
end )|| ')' Coluna
from user_tab_columns t
where upper(t.TABLE_NAME) = upper('&NOME_TABELA')
order by t.COLUMN_ID
-- >>>> Abre os campos com alias <<<<
set pagesize 500;
select '&alias'||'.'||lower(RPAD(T.COLUMN_NAME,
20,
' ') || ',– ' || t.DATA_TYPE || '(' || case
when t.DATA_TYPE = 'NUMBER' then
T.DATA_PRECISION || ',' || T.DATA_SCALE
else
cast(T.DATA_LENGTH as varchar2(10))
end) || ')' Coluna
from user_tab_columns t
where upper(t.TABLE_NAME) = upper('&NOME_TABELA')
order by t.COLUMN_ID
-- >>>>> Faz a lista padrão para o insert <<<<<
select RPAD(case T.DATA_TYPE
when 'VARCHAR2' then
CHR(39) || ' ' || CHR(39)
when ‘CHAR’ then
CHR(39) || ' ' || CHR(39)
when 'NUMBER' then
'0'
when 'DATE' then
'NULL'
else
' NÃO DEFINIDO '
end || ',',
20,
' ') || ' – ' || T.COLUMN_NAME || ' '||t.DATA_TYPE||'(' || case
when t.DATA_TYPE = 'NUMBER' then
T.DATA_PRECISION || ',' || T.DATA_SCALE
else
cast(T.DATA_LENGTH as varchar2(10))
end || ')' Coluna
from user_tab_columns t
where t.TABLE_NAME = upper('&NOME_TABELA')
order by t.COLUMN_ID
-- >>>>> Faz a lista para o insert com os proprios campos da tabela.
-- Utilizado quando se le um registro e se cria outro praticamente igual..
-- ai só se muda os campos desejados <<<<<
select lower( RPAD('&Alias'||'.'||T.COLUMN_NAME,25,' ')||', — ' || T.COLUMN_NAME || ' — '||t.DATA_TYPE||'(' || case
when t.DATA_TYPE = 'NUMBER' then
T.DATA_PRECISION || ',' || T.DATA_SCALE
else
cast(T.DATA_LENGTH as varchar2(10))
end || ')') Coluna
from user_tab_columns t
where t.TABLE_NAME = upper('&NOME_TABELA')
order by t.COLUMN_ID
-- Autor: Djeison Mickael --
sexta-feira, 18 de fevereiro de 2011
Facilitador de Scripts – Oracle
Alguns scripts para facilitar a programação PL/SQL em Oracle:
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário