ranges
語句:要用與選擇表相同的結構建立內錶
,可使用
ranges語句,
如下所示
:語法
:ranges for .
該語句建立選擇表
,該錶參考資料庫表的列
或內部字段
。選擇表必須在程式中填充。不必在程式中再用tables語句宣告資料庫表。
ranges
語句是下列語句的短格式:
data: begin of occurs 10,
sign(1),
option(2)
lowlike ,
high like ,
end of .
用ranges建立的內錶與選擇表結構相同,但功能不同。
用ranges語句建立的選擇表: ø
不是選擇螢幕的一部分:它們在程式中不能用於資料傳遞,該程式由下列語句啟動:
submit with in .
請注意,表
可以在呼叫程式中用
ranges
建立(參見《呼叫報表》)。
ø不與資料庫表相鏈結。這意味著:
ü它們不被傳遞給連線資料庫(參見《
自定義選擇標準與邏輯資料庫》)。
ü它們不能與邏輯表示式的短格式一起使用(參見《
在邏輯表示式中使用選擇表》) ü
它們不能與《在
get事件中與
check
語句一起使用選擇表
》中描述的變體
check select-options
一起使用。
您可以象使用真正的選擇表一樣在開放式sql語句的where子句中和在帶in引數(參見《使用報表的選擇標準》)的邏輯表示式中使用這些內錶。
ranges s_carrid for spfli-carrid.
s_carrid-sign
= 'i'.
s_carrid-option = 'eq'.
s_carrid-low
= 'lh'.
該示例中,內錶
s_carrid
按選擇表的結構建立,並參考資料庫表spfli的列carrid。欄位s_carrid-low和s_carrid-high具有相同的型別carrid。內錶s_carrid的表頭行被填充並新增到表中。表中定義的選擇條件與下列邏輯表示式的功能相同:
spfli-carrid eq 'lh'
選擇表:
系統為每個select-options語句建立選擇表。選擇表的目的是按標準化的方式儲存復合選擇限制。它們可按多種方式使用。它們的主要目的是使用open sql語句的where子句(參見《使用報表的選擇標準》)把選擇標準直接傳輸到資料庫表。
選擇表是乙個帶表頭行的內錶。它的行結構是字段字串,由四個元件構成,即sign、option、low和high。每個選擇錶行表示資料選擇的條件:
øsign
:sign
的資料型別是c,
長度為1
。sign
是標誌,
表示儲存在
option
中的運算子是否需要翻轉。允許值是i和e。üi
表示「包含」(包含標準-運算子不翻轉) ü
e表示「排除」(排除標準-運算子翻轉) ø
option
:option的資料型別是c,長度為2。option包含選擇運算子。如果sign包含e,運算子的作用就象它的前面有not(有關not的詳細資訊,參見《組合幾個邏輯表示式》)一樣。下列運算子是可用的:ü如果
high
是空的,
您可以使用eq、
ne、gt、
le、lt、
cp和np。
這些運算子在《程式設計邏輯表示式》中描述。運算子cp和np沒有它們在通常邏輯表示式中所具有的範圍。只有當在輸入欄位中使用了萬用字元(「*」或「+」)時它們才是有效的。沒有定義退出符號。ü如果
high
已被填充,則可以使用
bt(位於)和
nb(不位於
)。這些運算子的功能與
between
和not between一樣(
參見《檢查字段是否屬於某一範圍》)
。ølow:low的資料型別與資料庫表的列型別相同,該錶與選擇標準相連線。ü如果
high
為空,low的內容定義單值選擇。它與option中的運算子相結合,為資料庫選擇指定了條件。ü如果
high
已填充,low和high中的內容為間隔選擇指定上界和下界。與option中的運算子相結合,該間隔為資料庫選擇指定了條件。
øhigh
:high的資料型別與資料庫表的列型別相同,該錶與選擇標準相連線。high中的內容為間隔選擇指定了上界。與option中的運算子相結合,該間隔為資料庫選擇指定了條件。
如果選擇表包含多行,系統將按下列規則執行資料選擇:
ø組成在sign字段值為i(包含)的行上定義的集合聯合。
ø去掉在sign字段值為e(排除)的行上定義的集合聯合。
ø選擇結果集合。
如果選擇表只具有sign欄位等於e的行,系統將選擇這些行所指定的集合之外的所有資料。
除了用select-options
語句建立選擇表
,您可以用在
《建立和處理內錶
》中描述的語句或
ranges語句,
按相同的結構建立內錶。這些表可以用與
select-options
語句建立的真正的選擇表相似方法使用
,但是有限制。
有關ranges
語句的詳細資訊
,參見《
ranges
語句》
語句 switch語句
switch語句的特點如下 1 switch x 被選擇的內容 即x 只能是byte,short,int,char這四種型別 2 備選答案並沒有指定的順序,但是執行肯定是從第乙個case開始的,如果其中有匹配的case,執行完,通過該case的break就結束了switch。如果沒有匹配的case,...
Python while語句,for語句
usr bin python coding utf 8 filename whiletest.py num 23running true while running i int raw input input a number if i num print right running false e...
迴圈for語句 if語句
if語句 if 表示式 else if 表示式 for迴圈 for var i 0 i 10 i if語句 if 表示式 else if 表示式 for迴圈 for var i 0 i 10 i while迴圈 while 表示式 使用場景 for 次數確定的時候使用 while 直到滿足摸個條件的...