sql >> Databáze >  >> RDS >> Oracle

Spusťte sql kód s proměnnými v okně kódu Oracle SQL Developer

pokud to čtu správně, myslím, že hledáte Substituční proměnné Oracle.

toto vás pokaždé vyzve k zadání hodnot, pomocí &val vás vyzve @ runtime

  SELECT
      CFS.CAE_SEC_ID,
      CFS.FM_SEC_CODE,
      CFS.LAST_USER_ID,
      CASE 
          when &p_USBank_n = 1 then
            sl.usbank_to_edit
          else
            CASE 
              when '&p_user_id_c' = CFS.last_user_id then
                sl.owner_to_edit
              else
                sl.to_edit
            end
        end canEdit
    FROM
    CAEDBO.CAE_FOF_SECURITY CFS
    INNER JOIN caedbo.CAE_DATA_SET_ELEMENT CDSE_STAT 
        ON (CDSE_STAT.DATA_SET_ELEMENT_ID = CFS.APPR_STATUS)
    INNER JOIN caedbo.CAE_STATE_LOOKUP sl 
        ON (sl.object_state =  CDSE_STAT.data_set_element_id)
   where 
      CFS.CAE_SEC_ID IN (3741, 3744, 3748, 3752);

změňte jej na &&var, aby si zachoval hodnotu, a poté použijte

UNDEFINE var 

vymazat to

Nyní je můžete nastavit v horní části stránky (a vyhnout se tak výzvě) pomocí DEFINE jako takové

DEFINE XYZ = 5
DEFINE AAA = to_date('10/10/2010','mm/dd/rrrr')
DEFINE textString = AaBbCc

SELECT &&XYZ b, &&AAA a, '&&textString' textString
  from dual ;

  B                      A                         TEXTSTRING 
  ---------------------- ------------------------- ---------- 
  5                      10.OCT.2010 00:00         AaBbCc     
  --typing define will show you all the "defined" values 
define

  DEFINE XYZ = "5"
  DEFINE TEXTSTRING = "AaBbCc"
  DEFINE AAA = "to_date('10/10/2010','mm/dd/rrrr')"

dvojitý ampersand si „zachová“ hodnotu, dokud ji NEDEFINOVAT (viz výše) nebo předefinovat.



  1. Problémy s instalací mysqlclient s pip3

  2. java.lang.OutofMemorySpace:Java haldový prostor při načítání 120 milionů řádků z databáze v pysparku

  3. Jak uvolnit tabulku na RedShift do jednoho souboru CSV?

  4. Zřetězení hodnot sloupců do seznamu odděleného čárkami