[Resolvido]Delete com oracle oracle

16 respostas
programaçãofront-end
F

Pessoal bom dia estou querendo fazer um delete mas está acontecendo um erro poderia me ajudar.
Comando Oracle

identar Delete * FROM livro WHERE liv_titulo like'%Banco de Dados Distribuído %' or like '%banco de dados para web%';

Erro apresentado

identar Erro a partir da linha : 60 no comando -

Delete * FROM livro
WHERE liv_titulo like’%Banco de Dados Distribuído %’ or like ‘%banco de dados para web%’
Erro na Linha de Comandos : 60 Coluna : 8
Relatório de erros -
Erro de SQL: ORA-00903: nome de tabela inválido
00903. 00000 - “invalid table name”
*Cause:
*Action:

Minha tabela livros

16 Respostas

L

O nome da tabela é livro ou livros?

F

livro

F

Quero excluir dois livros com or

L

Tem certeza?
Se for mesmo, executando um DESCRIBE livro deve listar todas as colunas da tabela. Senão, receberá um erro semelhante ao que recebeu antes.
Caso ocorra o erro, faça DESCRIBE livros

F

ele retornou a tela e informações das colunas

L

Delete * FROM livro WHERE liv_titulo like '%Banco de Dados Distribuído %' or like '%banco de dados para web%';
Quando você utiliza um operador para adicionar cláusulas ao WHERE, você precisa, obrigatoriamente, informar qual coluna está comparando, independente de já tê-la referenciado antes.

Delete * FROM livro WHERE liv_titulo like '%Banco de Dados Distribuído %' or liv_titulo like '%banco de dados para web%';

As questões sobre o nome da tabela vieram pela mensagem de erro se referir ao nome da tabela e você ter colocado o nome da mesma no plural.

F

man ele deu o mesmo erro

identar texto Erro a partir da linha : 60 no comando -

Delete * FROM livro
WHERE liv_titulo like ‘%Banco de Dados Distribuído %’ or liv_titulo like '%banco de dados para web%'
Erro na Linha de Comandos : 60 Coluna : 8
Relatório de erros -
Erro de SQL: ORA-00903: nome de tabela inválido
00903. 00000 - “invalid table name”
*Cause:
*Action:

F

estranho pois todos que eu tento fazer um delete ele apresenta esse erro

L

Cara, tira print do nome da tabela

F

Nome da table livro

J

Não se usa * para o comando delete!

Exemplo:

DELETE FROM LIVRO WHERE LIV_TITULO LIKE '%Banco de Dados Distribuído%' OR LIKE '%banco de dados para web%';

L

Nossa, fiquei tão focado na mensagem de erro que ignorei essa parte.

D

Porque identar?

F

obrigado por responder man eu tirei o * mas ele aparece um erro.

identar    Delete  FROM livro WHERE liv_titulo like'%banco de dados distribuído %' or like liv_titulo  '%banco de dados para web%';

Mas ele apresenta o seguinte erro.

Erro apresentado

identar  00936. 00000 -  "missing expression"

*Cause:
*Action:

Erro a partir da linha : 4 no comando -
Delete FROM livro
WHERE liv_titulo like’%banco de dados distribuído %’ or like '%banco de dados para web%'
Erro na Linha de Comandos : 5 Coluna : 58
Relatório de erros -
Erro de SQL: ORA-00936: expressão não encontrada
00936. 00000 - “missing expression”
*Cause:
*Action:

F

obrigado por responder man eu tirei o * mas ele aparece um erro.

identar    Delete  FROM livro WHERE liv_titulo like'%banco de dados distribuído %' or like liv_titulo  '%banco de dados para web%';

Mas ele apresenta o seguinte erro.

Erro apresentado

identar  00936. 00000 -  "missing expression"

*Cause:
*Action:

Erro a partir da linha : 4 no comando -
Delete FROM livro
WHERE liv_titulo like’%banco de dados distribuído %’ or like '%banco de dados para web%'
Erro na Linha de Comandos : 5 Coluna : 58
Relatório de erros -
Erro de SQL: ORA-00936 expressão não encontrada
00936. 00000 - “missing expression”
*Cause:
*Action:

F

Consegui resolver pessoal muito obrigado pela ajuda

Criado 31 de março de 2017
Ultima resposta 31 de mar. de 2017
Respostas 16
Participantes 4