如何声明变量并在Oracle sql中使用它

如何声明变量并在Oracle sql中使用它,oracle,Oracle,我想删除一个变量,并在同一个oracle sql中使用它 假设我们有下面的脚本,它工作正常 select id ,NAME ,ADDRESS ,DATE FROM MYTABLE WHERE COMPANY= 'LENOVO' AND DATEBETWEEN systimestamp - INTERVAL '10' MINUTE AND SYSTIMESTAMP 在这段代码的末尾,我想将ID的值存储在一个变量中,然后用它来删除记录,我尝试了这个方法,但它不起作用 declare _name v

我想删除一个变量,并在同一个oracle sql中使用它

假设我们有下面的脚本,它工作正常

select id
,NAME
,ADDRESS
,DATE
FROM MYTABLE
WHERE COMPANY= 'LENOVO'
AND DATEBETWEEN systimestamp - INTERVAL '10' MINUTE
AND SYSTIMESTAMP
在这段代码的末尾,我想将ID的值存储在一个变量中,然后用它来删除记录,我尝试了这个方法,但它不起作用

declare
_name varchar(100);

select id
    ,NAME
    ,ADDRESS
    ,DATE
    FROM MYTABLE
    WHERE COMPANY= 'LENOVO'
    AND DATEBETWEEN systimestamp - INTERVAL '10' MINUTE
    AND SYSTIMESTAMP
Returning to _name;

delete _name;
请提供任何帮助,谢谢

您需要使用:


您在哪里运行脚本-SQL*Plus、SQL开发人员、其他客户机?在删除之前,您对所选数据做了什么,只是显示它?我只是显示它以获取id,我使用的是oracle sql Developer 3.0.04如果您只是显示它以获取id,您是否真的需要显示它(或者更确切地说,它们,因为我假设它可以以该间隔匹配多个记录)?我不清楚为什么您不使用相同的
where
子句直接删除。
declare
意味着您希望在PL/SQL块中执行此操作,可能会在光标周围循环以显示和删除每个匹配的记录;是这样吗?目前还不太清楚。
SELECT id
INTO _name
FROM MYTABLE;