Bonjour à tous,

Mon problème est le suivant, je créé une procédure sotckée avec dans le code la requête suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
"
select  *
into    #BILL_EQUIP_DETAIL
from    BILL_EQUIP_DETAIL       BED     (PREFETCH 16 MRU) NOHOLDLOCK
where
BED.index_bill_ref              = @index_bill_ref_pere
and     BED.index_bill_ref_resets       = @index_bill_ref_resets_pere
"
L'installation et la compilation de la procédure se passent correctement, mais surprise lorsque je regarde le code de la procédure stockée sous Sybase avec un sp_helptext cette requête est transformé en :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
"
 select  BED.type_id_usg, BED.jurisdiction, BED.msg_id, BED.msg_id2,
BED.msg_id_serv, BED.index_bill_ref, BED.index_bill_re
f_resets, BED.process_num, BED.subscr
 
         _no, BED.subscr_no_resets, BED.element_id, BED.provider_id,
BED.bill_class, BED.trans_dt, BED.point_target, BED.p
oint_origin, BED.point_id_target, BED.point_id_origin, BED.ccard_id,
BED.ccard_id_serv, BED.units, BED.units_credited, BED
.amount_credited, BE
 
         D.amount, BED.rated_amount, BED.foreign_amount, BED.base_amt,
BED.geocode, BED.aux_tax_info, BED.customer_tag, BE
D.annotation, BED.ext_tracking_id, BED.rate_period, BED.arch_flag,
BED.unrounded_amount, BED.trans_id, BED.aggr_usage_id,
BED.rate_class, BED.
 
         rate_currency_code, BED.account_no, BED.external_id,
BED.external_id_type, BED.country_code_origin, BED.country_d
ial_code_origin, BED.point_tax_code_origin,
BED.point_tax_code_type_origin, BED.country_code_target,
BED.point_tax_code_ta
rget, BED.point_tax_
 
         code_type_target, BED.rate_dt, BED.second_dt, BED.timezone,
BED.primary_units, BED.second_units, BED.third_units,
 BED.units_currency_code, BED.billing_units_type, BED.federal_tax,
BED.state_tax, BED.county_tax, BED.city_tax, BED.other_
tax, BED.comp_status
 
         , BED.cdr_status, BED.file_id, BED.file_id_serv,
BED.rev_rcv_cost_ctr, BED.corridor_plan_id, BED.bill_invoice_row
, BED.cell_id_origin, BED.split_row_num, BED.orig_type_id_usg,
BED.access_region_origin, BED.access_region_target, BED.uni
t_cr_id, BED.open_it
 
         em_id, BED.num_records, BED.amount_reduction,
BED.amount_reduction_id, BED.rated_amount_reduction
into    #BILL_EQUIP_DETAIL
from    BILL_EQUIP_DETAIL       BED     (PREFETCH 16 MRU) NOHOLDLOCK
where
BED.index_bill_ref              = @index_bill_ref_pere
and     BED.index_bill_ref_r
 
         esets  = @index_bill_ref_resets_pere
"
Bref le * est remplacé par l'ensemble des champs de la table que je désire copier dans la table temporaire.

Est ce que quelqu'un peut m'expliquer de quelle manière Sybase a interprété le select * ?
Pour info, j'utilise la version 12 de Sybase.

Merci d'avance à celui qui pourra faire la lumière sur ce problème.