LOOKUP_TRANSACTION_PACKAGE
DDL scriptArguments:
Name | Data Type | Default Value | In/Out |
---|
O_IN | VARCHAR2 | | IN |
N_IN | VARCHAR2 | | IN |
E_IN | VARCHAR2 | | IN |
V_IN | VARCHAR2 | | IN |
R_IN | VARCHAR2 | | IN |
A_IN | VARCHAR2 | | IN |
Returns:
NUMBER(38)Source
Legend: string keyword reserved word operator
1: function
2: lookup_transaction_package(
3: o_in in varchar2,
4: n_in in varchar2,
5: e_in in varchar2,
6: v_in in varchar2,
7: r_in in varchar2,
8: a_in in varchar2)
9: return number
10: is
11: pragma autonomous_transaction;
12: o_id number;
13: n_id number;
14: e_id number;
15: p_arch_id number;
16: tp_id number;
17: begin
18: begin
19: select id
20: into o_id
21: from rhnTransactionOperation
22: where label = o_in;
23: exception when no_data_found then
24: rhn_exception.raise_exception('invalid_transaction_operation');
25: end;
26:
27: n_id := lookup_package_name(n_in);
28: e_id := lookup_evr(e_in, v_in, r_in);
29: p_arch_id := null;
30:
31: if a_in is not null then
32: p_arch_id := lookup_package_arch(a_in);
33: end if;
34:
35: select id
36: into tp_id
37: from rhnTransactionPackage
38: where operation = o_id and
39: name_id = n_id and
40: evr_id = e_id and
41: (package_arch_id = p_arch_id or (p_arch_id is null and package_arch_id is null));
42: return tp_id;
43: exception when no_data_found then
44: begin
45: tp_id := insert_transaction_package(o_id, n_id, e_id, p_arch_id);
46: exception when dup_val_on_index then
47: select id
48: into tp_id
49: from rhnTransactionPackage
50: where operation = o_id and
51: name_id = n_id and
52: evr_id = e_id and
53: (package_arch_id = p_arch_id or (p_arch_id is null and package_arch_id is null));
54: end;
55: return tp_id;
56: end;