我想在SQL *执行下一个命令加查询。我猜问题是在撇号字符,但下一个查询工程:的SQL * Plus:</p> <pre><code>DELETE FROM SOLUTION WHERE NAME LIKE 'Autotest %'; </code></pre> <p>它没有任何东西:如何使用字符串
SELECT ID FROM SOLUTION WHERE NAME LIKE 'Autotest %';
所以我不知道发生了什么。
我想在SQL *执行下一个命令加查询。我猜问题是在撇号字符,但下一个查询工程:的SQL * Plus:</p> <pre><code>DELETE FROM SOLUTION WHERE NAME LIKE 'Autotest %'; </code></pre> <p>它没有任何东西:如何使用字符串
SELECT ID FROM SOLUTION WHERE NAME LIKE 'Autotest %';
所以我不知道发生了什么。
当我执行它卡住的命令,我可以做的唯一的事情是取消用Ctrl + C
操作这清楚地表明你的会话被阻止。你可以通过检查:
SELECT *
FROM v$session s
WHERE blocking_session IS NOT NULL;
DELETE
后,你应该提交事务(首先检查你的设置show autocommit
)。更多SET AUTOCOMMIT
您是否关闭了连接并提交了SQL Developer中的更改?考虑使用=
而不是LIKE
进行查询。
你是什么意思“它什么都不做”?它错误吗?影响没有行?或者在运行之后仍然有以“Autotest”开头的行? IIRC在Sql Plus中,您可能需要在数据操作命令之后提交它们,才能充分感受它们的效果。 https://stackoverflow.com/questions/9541013/oracle-what-statements-need-to-be-committed –
你犯了交易?我想你删除了行并检查它们是否存在于另一个会话中。 – lad2025
@ChrisFlynn当我执行命令时,它被卡住了,我唯一能做的就是用Ctrl + C取消操作。 –