Cursor: Derived column referencing
Dan Osborne
dano@specialist.co.uk
Thu, 10 Feb 2000 12:19:52 -0000
Darren,
Have you tried refering to the column by position instead of name i.e. order
by 1 if it is always going to be the first column?
Dan Osborne
Specialist Business Solutions Ltd.
> -----Original Message-----
> From: owner-powerh-l@sphere.swau.edu
> [mailto:owner-powerh-l@sphere.swau.edu]On Behalf Of Darren Reely
> Sent: February 9, 2000 6:31 PM
> To: 'powerh-l@lists.swau.edu'
> Subject: Cursor: Derived column referencing
>
>
> Hi all,
>
> I have a SQL cursor (below with code reference) in a Quick screen that I'd
> rather use bins_rlsd_lots_v.* in the select statement instead of
> explicitly
> listing each column. But if I do this I can't use my derived value in a
> sort clause. The derived column is 'not found' during the compile time
> substitution phase. When I do list each column in the cursor then
> everything works as expected. In either case I can display the value,
> although that isn't its purpose. The purpose is to have sorted columns
> with a selected value floating to the top of a cluster. Is there a way to
> do this in straight QDesign?
>
> Changing the positions in the cursor does NOT help. Changing the cursor
> name didn't help. Prefixing the derived column name with the cursor name
> didn't help.
>
> Is there a work around for this?
>
>
> sql in mfg declare bins_rlsd_lots_v cursor for &
> ( select '1' as mysortorder, &
> bins_rlsd_lots_v.* &
> from bins_rlsd_lots_v &
> where facility = :trunc(t_in_fac) &
> AND test_facility = :trunc(t_in_test_fac) &
> and pkg = :pkg of ilf_issue_sheet &
> and lot_status not in ('HOLD','COMPLETE') &
> ::and_where_clause &
> union &
> select '9' as mysortorder, &
> bins_rlsd_lots_v.* &
> from bins_rlsd_lots_v &
> where facility = :trunc(t_in_fac) &
> AND (test_facility IS NULL
> OR test_facility <> :trunc(t_in_test_fac)) &
> and pkg = :pkg of ilf_issue_sheet &
> and lot_status not in ('HOLD','COMPLETE') &
> ::and_where_clause &
> ) ::order_clause
>
> cursor bins_rlsd_lots_v primary occurs 10 noitems open read ;key lot_id
>
> ....
>
> In my code I have SQL OPEN statements such as this one.
>
> if t_path = 1
> then SQL OPEN BINS_RLSD_LOTS_V &
> and_where_clause ( and bin_id = :trunc(t_push_bin_id) &
> AND ms = :trunc(t_push_ms) ), &
> order_clause (order by mysortorder, test_facility, &
> prod_line, bin_id, ms, lot_id)
>
> The substitution looks good except I get the following error.
>
> __ Sql after substitutions are applied:
> *E* Error parsing SQL statement.
> DMS-E-GENERAL, A general exception has occurred during operation 'prepare
> request'.
> DMS-E-SS_PARSER, An error was detected during processing of the SQL
> request.
> DMS-E-SS_BAD_OBJECT, An invalid object name was detected in the SQL
> request.
> DMS-E-SS_BAD_COL, Column 'MYSORTORDER' was not found.
>
>
> Thanks for any direction,
>
> Darren
>
> P.S.
> We are running Oracle7 Server Release 7.3.4.4.0,
> PH 813d1 (d2 didn't help),
> Sun Solaris 2.6 (SunOS 5.6).
> = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
> = = = = =
> Subscribe: "subscribe powerh-l" in message body to
> majordomo@lists.swau.edu
> Unsubscribe: "unsubscribe powerh-l" in message to majordomo@lists.swau.edu
> This list is closed, thus to post to the list, you must be a subscriber.
>
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Subscribe: "subscribe powerh-l" in message body to majordomo@lists.swau.edu
Unsubscribe: "unsubscribe powerh-l" in message to majordomo@lists.swau.edu
This list is closed, thus to post to the list, you must be a subscriber.