Как объявить переменную и использовать ее в 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 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;
  

Любая помощь, пожалуйста, спасибо

Комментарии:

1. Где вы запускаете скрипт — SQL * Plus, SQL Developer, какой-то другой клиент? Что вы делаете с выбранными данными перед удалением, просто отображая их?

2. Я просто показываю ее, чтобы получить идентификатор, и я использую oracle sql developper 3.0.04

3. Если вы просто отображаете ее, чтобы получить идентификатор, вам действительно нужно отображать ее (или, скорее, их, поскольку я предполагаю, что она может соответствовать более одной записи с этим интервалом) вообще? Мне непонятно, почему вы просто не выполняете прямое удаление с тем же where предложением. declare Подразумевается, что вы хотите сделать это в блоке PL / SQL, возможно, обводя курсор для отображения и удаления каждой соответствующей записи; так ли это? На данный момент все это немного неясно.

Ответ №1:

Вам нужно использовать SELECT INTO предложение:

 SELECT id
INTO _name
FROM MYTABLE;