sql >> Databasteknik >  >> RDS >> Oracle

Kör sql-kod med variabler i Oracle SQL Developer-kodfönster

om jag läser detta rätt tror jag att du letar efter Oracle Substitutionsvariabler.

detta kommer att uppmana dig varje gång att mata in värdena, genom att använda &val kommer det att uppmana 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);

ändra det till &&var för att det ska behålla värdet, använd sedan

UNDEFINE var 

för att rensa den

Nu kan du ställa in dessa högst upp på sidan (och därmed undvika prompten) genom att använda 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 dubbla et-tecken kommer att "behålla" värdet tills du AVFINIERAR det (se ovan) eller omdefinierar det.



  1. Hur man läser och skriver ut data från mysql i c#

  2. Att anropa DATE_FORMAT() i MySQL från Django misslyckas

  3. JPA genererar dubbletter av nycklar

  4. Kan inte skapa länkad server - sql-server och mysql