2017-07-26 10 views
1

を使用して照会する方法を私はSQL * Plusで次のコマンドを実行しようとしている:SQL * Plusの:文字列

DELETE FROM SOLUTION WHERE NAME LIKE 'Autotest %'; 

それは何もしません。私はこの問題は、アポストロフィ文字であるが、次のクエリが動作すると思います:

SELECT ID FROM SOLUTION WHERE NAME LIKE 'Autotest %'; 

だから私は何が起こっているかの見当がつかない。

+0

「何もしない」とはどういう意味ですか?それは間違っていますか?行には影響しませんか?またはそれを実行した後、まだ "Autotest"で始まる行がありますか? IIRCをSql Plusで使用するには、データ操作コマンドの後にその効果を完全に感じる前にコミットする必要があります。 https://stackoverflow.com/questions/9541013/oracle-what-statements-need-to-be-committed –

+0

トランザクションをコミットしましたか?私はあなたが行を削除し、別のセッションから存在するかどうかを確認したと思います。 – lad2025

+0

@ChrisFlynn私はコマンドが実行されたときに動かなくなり、Ctrl + Cで操作を取り消すことができます。 –

答えて

1

私は、コマンドを実行すると、それが立ち往生し、私にできる唯一のことは、Ctrlキー+ C

を使用して操作をキャンセルしているこれは明らかにあなたのセッションがブロックされていることを示しています。 DELETE

SELECT * 
FROM v$session s 
WHERE blocking_session IS NOT NULL; 

をあなたが(最初show autocommitて設定を確認してください)トランザクションをコミットする必要があります:あなたが使用して、それをチェックすることができます。 More SET AUTOCOMMIT

2

接続をクローズしてSQL Developerの変更をコミットしましたか?クエリにLIKEの代わりに=を使用することを検討してください。