powerbuilder的游标这样写

本文介绍了一种通过SQL查询来实现机场禁航限制检查的方法。该查询能够根据提供的航班日期、时间等信息筛选出受禁航限制影响的机场。通过游标遍历查询结果,并进一步获取受影响机场的名称及详细限制情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 STRING ls_limit_airport_name
 DECLARE Airport_cursor CURSOR FOR
 SELECT AIRPORT_4CODE FROM t7001_5
  WHERE (airport_4code = :dep_4code or airport_4code = :arr_4code)
  AND INSTR(forbid_week,:ls_week) > 0
  AND (TRUNC(forbid_start_date) <= TRUNC(:flight_date)
  AND TRUNC(forbid_end_date) >= TRUNC(:flight_date))
 AND ((TO_DATE('1900-01-01'||TO_CHAR(:ldt_std_utc,'HH24:mi'),'yyyy-mm-dd hh24:mi') >= TO_DATE('1900-01-01'||TO_CHAR(FORBID_START_TIME,'HH24:mi'),'yyyy-mm-dd hh24:mi')
     AND TO_DATE('1900-01-01'||TO_CHAR(:ldt_std_utc,'HH24:mi'),'yyyy-mm-dd hh24:mi') <= TO_DATE('1900-01-01'||TO_CHAR(FORBID_END_TIME,'HH24:mi'),'yyyy-mm-dd hh24:mi'))
   OR (TO_DATE('1900-01-01'||TO_CHAR(:ldt_sta_utc,'HH24:mi'),'yyyy-mm-dd hh24:mi') >= TO_DATE('1900-01-01'||TO_CHAR(FORBID_START_TIME,'HH24:mi'),'yyyy-mm-dd hh24:mi')
     AND TO_DATE('1900-01-01'||TO_CHAR(:ldt_sta_utc,'HH24:mi'),'yyyy-mm-dd hh24:mi') <= TO_DATE('1900-01-01'||TO_CHAR(FORBID_END_TIME,'HH24:mi'),'yyyy-mm-dd hh24:mi')));
 OPEN Airport_cursor;
 FETCH Airport_cursor into :ls_limit_airport;
 DO  WHILE SQLCA.SQLCODE <> 100
  //机场禁航限制
  if not isnull(ls_limit_airport) then 
   flight_color = is_limit_hard
   if pos(display,'▲') = 0  then display += '▲'
   select CITY_CH_NAME into :ls_limit_airport_name from t7001 where AIRPORT_4CODE = :ls_limit_airport;
   tips = tips + '~r~n' + '限制:' + ls_limit_airport_name + '机场禁航'
  end if
  FETCH Airport_cursor into :ls_limit_airport;
 LOOP
 CLOSE Airport_cursor;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值