Oracle Crie Table Temper

Oracle Crie Table Temper

As tabelas temporárias globais são úteis ao armazenar dados provisórios necessários apenas para uma transação ou duração da sessão. Ao contrário das tabelas regulares, as tabelas temporárias globais são descartadas automaticamente quando a sessão ou a transação termina. Então, eles não precisam ser explicitamente descartados como mesas normais. No entanto, as tabelas temporárias globais são visíveis apenas para a sessão atual, para que não possam ser acessadas por outras sessões ou usuários.

No Oracle, uma tabela temporária global é um tipo especial de tabela criada usando a instrução "Criar tabela temporária global". Esta afirmação é semelhante à declaração regular "Criar tabela", mas inclui a palavra -chave "temporário global" para especificar que a tabela é uma tabela temporária global.

A sintaxe da declaração "Criar tabela temporária global" é a seguinte:

Crie tabela temporária global Table_name (
Column1 Datatype [NULL | NÃO NULO],
Column2 Datatype [NULL | NÃO NULO],
..
) [On Commit delete | Preservar linhas];

Nesta sintaxe, Table_name é o nome da tabela temporária global que você deseja criar. coluna1, coluna2, etc., são os nomes e os tipos de dados das colunas na tabela.

A cláusula de comprometimento especifica se as linhas da tabela serão excluídas ou preservadas quando a transação atual for cometida. O mecanismo de banco de dados usará a opção On Commit Delete Lines se a cláusula ON COMMIT não for definida.

Como mencionado, lembre -se de que os dados em uma tabela temporária são privados. Isso significa que nenhuma outra sessões além das quais criou a tabela pode acessá -la.

Criando exemplo global de tabela temporária

Vamos descobrir alguns exemplos práticos de usar a instrução CREATE TABELA TEMPORÁRIA NO ORACLE DATABASES.

Considere a consulta de exemplo mostrada abaixo:

Crie a tabela temporária global temp_sales (
Número Product_id (10) Não NULL,
sale_date data não nula,
Sale_amount Número (10,2) não nulo
) Em comprometer linhas deletas;

No exemplo acima, criamos uma tabela temporária usando a opção On Commit Delete Lines.

Podemos então inserir alguns dados de amostra como:

Inserir em temp_sales (product_id, sale_date, sale_amount) (1, data '2022-10-01', 100);
Inserir em temp_sales (product_id, sale_date, sale_amount) (2, data '2022-10-02', 500);
Inserir em temp_sales (product_id, sale_date, sale_amount) (3, data '2022-10-03', 130);

Depois disso, você pode cometer a transação como:

COMPROMETER-SE;

Após cometer, o mecanismo de banco de dados truncará todos os dados na tabela temporária, conforme especificado na cláusula de commit.

Exemplo 2

O exemplo a seguir mostra como criar uma tabela que preserva linhas no comprometimento:

Crie a tabela temporária global temp_sales (
Número Product_id (10) Não NULL,
sale_date data não nula,
Sale_amount Número (10,2) não nulo
) Em comprometer linhas de preservação;

Podemos então adicionar linhas de amostra e comprometer como mostrado:

Inserir em temp_sales (product_id, sale_date, sale_amount) (1, data '2022-10-01', 100);
Inserir em temp_sales (product_id, sale_date, sale_amount) (2, data '2022-10-02', 500);
Inserir em temp_sales (product_id, sale_date, sale_amount) (3, data '2022-10-03', 130);
COMPROMETER-SE;

Nesse caso, os dados devem ser preservados após a operação de confirmação, conforme mostrado pela instrução SELECT abaixo:

Selecione * de temp_sales;

Saída:

Conclusão

A declaração "Criar Tabela Temporária" é uma ferramenta poderosa para criar tabelas temporárias no Oracle. As tabelas temporárias são úteis para armazenar dados temporários necessários apenas para uma transação ou sessão. A declaração "Criar tabela temporária" permite definir a estrutura e as colunas da tabela temporária e especificar como as linhas serão tratadas quando a transação for comprometida. Como resultado, o uso de tabelas temporárias pode melhorar o desempenho e a eficiência de suas consultas e aplicações e reduzir a quantidade de espaço de armazenamento permanente necessário em seu banco de dados.