Объявление переменных в Oracle (PL / SQL Разработчик) - PullRequest
0 голосов
/ 06 августа 2020

Я новичок в Oracle / PL / SQL Developer, и мне было интересно, как лучше всего объявлять переменные.

В T SQL я обычно делаю следующее и было интересно, что такое эквивалент в oracle.

DECLARE @WeekNumber Date
SET @WeekNumber '2020-10-01'
SELECT @Date ..... 

Ура, я ценю, что это довольно базовый c.

введите описание изображения здесь

Ответы [ 2 ]

2 голосов
/ 06 августа 2020

В Pl sql у вас есть возможность объявить переменную на основе существующего типа данных столбца таблицы.

Предположим, у вас есть столбец table1 table1 Current_week как тип данных date, тогда вы можете объявить его следующим образом.

declare
weeknumber table1.current_week%type;
begin
select week into weeknumber from table1;
end;

Лучше всего объявлять переменные в Oracle PL / SQL, чтобы избежать проблем с типом данных.

0 голосов
/ 06 августа 2020

Эквивалент будет

SQL> set serveroutput on size unlimited
SQL>  declare
   weekNumber Date := to_date('2020-10-01','YYYY-MM-DD');
 begin
   dbms_output.put_line(weekNumber);
 end;
 /  2    3    4    5    6
01-OCT-20

PL/SQL procedure successfully completed.

SQL>

Теперь, если вы хотите использовать переменную в операторе select или любом другом операторе

SQL>  set serveroutput on size unlimited
 declare
   weekNumber Date := to_date('2020-10-01','YYYY-MM-DD');
 begin
        insert into t1 values ( weekNumber ) ;
        commit;
 end;
 / SQL>   2    3    4    5    6    7

PL/SQL procedure successfully completed.

SQL> select * from t1 ;

C1
---------
01-OCT-20

SQL>
...