【问题标题】:Declare Variables in Oracle (PL/SQL Developer)在 Oracle (PL/SQL Developer) 中声明变量
【发布时间】:2020-08-06 11:58:53
【问题描述】:

我是 Oracle / PL/SQL Developer 的新手,想知道声明变量的最佳实践。

在 TSQL 中,我习惯于执行以下操作,想知道 oracle 中的等价物是什么。

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

干杯,我很欣赏这是非常基本的。

【问题讨论】:

    标签: oracle variables plsqldeveloper


    【解决方案1】:

    在 Plsql 中,您可以选择根据表列的现有数据类型声明变量。

    假设您有一个表 table1 列 Current_week 作为日期数据类型,那么您可以像这样声明它。

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

    这是在 Oracle PL/SQL 中声明变量以避免任何数据类型问题的最佳实践。

    【讨论】:

      【解决方案2】:

      相当于

      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>
      

      【讨论】:

      • 您好,感谢您的回复。我似乎遇到了错误并附上了屏幕截图。干杯
      • 我看不到代码。请把代码放在纯文本中
      • 感谢您的帮助;就像在错误的窗口中运行查询一样简单。我现在使用“测试查询”,它会自动扫描变量并让您即时设置它们。干杯
      猜你喜欢
      • 1970-01-01
      • 2012-01-18
      • 1970-01-01
      • 1970-01-01
      • 2018-04-04
      • 1970-01-01
      • 1970-01-01
      • 2021-09-11
      • 1970-01-01
      相关资源
      最近更新 更多