Fabio C Silva Posted October 7, 2011 Report Share Posted October 7, 2011 Bom dia,Gostaria de criar uma tabela no Oracle com um nome + a data (YYYYMM) corrente.Ex: TABELA_TESTE_201110Poderia criar na mão, todo mês mas gostaria que esse processo fosse automático.Tentei de várias formas, mas não obtive sucesso.CREATE TABLE TABELA_TESTE_ || SELECT TO_CHAR(SYSDATE, 'YYYYMM') FROM DUALASSELECT * FROM TABELA_MODELOWHERE 1=2;Nem sei se isso é possível, mas se alguém puder ajudar eu agradeço. Quote Link to comment Share on other sites More sharing options...
0 Fabio C Silva Posted October 11, 2011 Author Report Share Posted October 11, 2011 Bom, pessoal...Consegui.Criei uma procedure para tratar os dados em variáveis.Não sei se dei muita volta para chegar no resultado, mas segue abaixo caso alguém precise.CREATE OR REPLACE PROCEDURE CRIAR_TABELA ISDT_ANO VARCHAR2(15);DT_MES VARCHAR2(15);DT_ANO_MES VARCHAR2(15);VAR_MES VARCHAR2(15);BEGIN SELECT TO_CHAR(SYSDATE, 'YYYY') INTO DT_ANO FROM DUAL; SELECT TO_CHAR(SYSDATE, 'MM') -1 INTO VAR_MES FROM DUAL; CASE VAR_MES WHEN 1 THEN DT_MES := '01'; WHEN 2 THEN DT_MES := '02'; WHEN 3 THEN DT_MES := '03'; WHEN 4 THEN DT_MES := '04'; WHEN 5 THEN DT_MES := '05'; WHEN 6 THEN DT_MES := '06'; WHEN 7 THEN DT_MES := '07'; WHEN 8 THEN DT_MES := '08'; WHEN 9 THEN DT_MES := '09'; ELSE DT_MES := VAR_MES; END CASE; DT_ANO_MES := DT_ANO || DT_MES; EXECUTE IMMEDIATE 'CREATE TABLE TABELA_TESTE_A_' || DT_ANO_MES || ' AS SELECT * FROM TABELA_MODELO WHERE 1=2'; END CRIAR_TABELA; Quote Link to comment Share on other sites More sharing options...
Question
Fabio C Silva
Bom dia,
Gostaria de criar uma tabela no Oracle com um nome + a data (YYYYMM) corrente.
Ex: TABELA_TESTE_201110
Poderia criar na mão, todo mês mas gostaria que esse processo fosse automático.
Tentei de várias formas, mas não obtive sucesso.
CREATE TABLE TABELA_TESTE_ || SELECT TO_CHAR(SYSDATE, 'YYYYMM') FROM DUAL
AS
SELECT * FROM TABELA_MODELO
WHERE 1=2;
Nem sei se isso é possível, mas se alguém puder ajudar eu agradeço.
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.