簡體   English   中英

編寫SQR條件語句

[英]Write an SQR condition statement

我是SQR的新手。 我需要幫助來編寫變量並將其用於條件語句。 我的偽代碼去了

declare $head_print

let $head_print = (select * from PS_DTR_RPT_ACCT
where RPT_TREE_NODE = 'REAL_ESTATE_EXP' 
or TREE_NODE_NUM between 4600000 and 4699999)

if(head_print contain REAL_ESTATE_EXP or Account between 46000000 and 4699999)
then head_print = "REAL ESTATE";
else head_print = "Capital ESTATE";

您想要什么還不太清楚,所以我做一個假設。 似乎表PS_DTR_RPT_ACCT中是否有某個值,那么您希望它說“ REAL ESTATE”,否則說“ CAPITAL ESTATE”

現在使用SQR,您必須將SQL放在開始選擇塊中-規則非常嚴格-字段名稱必須在第1列中-代碼在NOT不在第1列中。在以下例程中,我嘗試對偽代碼進行編碼但是,我無法測試它在真實SQR中的代碼,因此您可能會出錯-另外我也不知道您的字段名稱,因為它只顯示“ select *”。

Begin-Report

   do GetData

End-Report

Begin-Procedure GetData

! Initialize value - if no data found, query this later and set it to the "ELSE"
Let $Head_print = ''

Begin-Select

Head_Print
   ! Override the value from the table but only if you need to
   Let $Head_Print = 'REAL ESTATE'

from PS_DTR_RPT_ACCT
Where RPT_TREE_NODE = 'REAL_ESTATE_EXP' 
or TREE_NODE_NUM between 4600000 and 4699999)

End-Select 

! If $Head_print is blank, then no value was found with the sql - do the ELSE part
If $Head_Print = ''
   Let $Head_Print = 'Capital Estate'
End-If

End-Procedure

SQR是一種非常不錯的有限語言,它的語法有些嚴格,但像使用SQL的Basic一樣簡單。 我建議閱讀參考手冊-可從Oracle下載。

隨時問有關SQR的任何其他問題-如果您收到我會收到警報-抱歉花了很長時間才回答

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM