sql >> Database teknologi >  >> RDS >> Oracle

Kør sql-kode med variabler i Oracle SQL Developer-kodevindue

hvis jeg læser dette rigtigt, tror jeg, du leder efter Oracle Substitution variabler.

dette vil bede dig hver gang om at indtaste værdierne, ved at bruge &val vil det bede dig @ 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);

skift det til &&var for at få det til at beholde værdien, og brug derefter

UNDEFINE var 

for at rydde den

Nu kan du indstille disse øverst på siden (og dermed undgå prompten) ved at bruge DEFINE som sådan

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')"

det dobbelte og-tegnet vil 'beholde' værdien, indtil du UNDEFINER den (se ovenfor) eller omdefinerer den.



  1. Laravel Kan ikke slette eller opdatere en overordnet række:en fremmednøglebegrænsning mislykkes

  2. postgresql, kunne ikke identificere kolonne i postdatatypen

  3. MySQL NOT IN fra en anden kolonne i samme tabel

  4. Sådan indstilles kolonner, når du bruger hjælpere i pg-promise