[Resolvido]Delete com oracle oracle

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

O nome da tabela é livro ou livros?

livro

Quero excluir dois livros com or

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

ele retornou a tela e informações das colunas

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.

1 curtida

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:

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

Cara, tira print do nome da tabela

1 curtida

Nome da table livro

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%';

1 curtida

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

1 curtida

Porque identar?

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:

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:

Consegui resolver pessoal muito obrigado pela ajuda