Simple Oracle variable SQL Assignment

后端 未结 5 512
一整个雨季
一整个雨季 2021-01-17 20:35

Despite having spent an hour researching I can\'t seem to figure out how to correctly define a variable and then use it in your SQL.

This is what I have so far produ

5条回答
  •  别那么骄傲
    2021-01-17 20:52

    Your variable declaration is correct.

    The DECLARE keyword is used to define variables scoped in a PL/SQL block (whose body is delimited by BEGIN and END;). How do you want to use this variable?

    The following PL/SQL works fine for me:

    DECLARE 
        startDate DATE := to_date('03/11/2011', 'dd/mm/yyyy');
        reccount INTEGER;
    BEGIN
        SELECT count(*) INTO reccount 
            FROM my_table tab 
            WHERE tab.somedate < startDate;
        dbms_output.put_line(reccount);
    END;
    

    You can also use the DEFINE statement to use simple string substitution variables. They are suitable for a client like SQL/PLUS or TOAD.

    DEFINE start_date = "to_date('03/11/2011', 'dd/mm/yyyy')"
    SELECT COUNT(*) from my_table tab where tab.some_date < &start_date;
    

提交回复
热议问题