Update

Rober
18 de Enero del 2006
Buenas a todos; haber si me pueden ayudar!
Escribo el siguiente codigo pero de ma errores de compilación, sñolo quiero hacer un UPDATE entre valores de una columna de una tabla!!

SQL> CREATE OR REPLACE PROCEDURE inventory_part_tab_etape3
2 ( v_part_no_i IN inventory_part_tab.part_no%TYPE,
3 v_part_no_f IN inventory_part_tab.part_no%TYPE);
4 IS
5 BEGIN
6 UPDATE part_catalog_tab
7 SET (description)=
8 (select description
9 from inventory_part_tab
10 where inventory_part_tab.part_no BETWEEN v_part_no_i AND v_part_no_f
11 AND inventory_part_tab.contract='AI')
12 where part_catalog_tab.part_no BETWEEN v_part_no_i AND v_part_no_f;
13 end inventory_part_tab_etape3;
14 /

Attention : Procédure créée avec erreurs de compilation.

Gracias de antemano!

a
18 de Enero del 2006
y si haces un "show errors" que te dice???

Rober
18 de Enero del 2006
SQL> show errors
Erreurs pour PROCEDURE INVENTORY_PART_TAB_ETAPE3 :

LINE/COL ERROR
-------- ---------------------------------------------------------------
4/3 PLS-00103: Symbole "BEGIN" rencontré

chemian
18 de Enero del 2006
prueba con esto:

SQL> CREATE OR REPLACE PROCEDURE inventory_part_tab_etape3
( v_part_no_i IN inventory_part_tab.part_no%TYPE,
v_part_no_f IN inventory_part_tab.part_no%TYPE);
IS
SQL_AUX VARCHAR2(10000);
BEGIN
sql_aux:=\'UPDATE part_catalog_tab SET \' ||
|| \' (description)=(select description from \' ||
|| \' inventory_part_tab where \' ||
|| \' inventory_part_tab.part_no BETWEEN \' ||
|| \' v_part_no_i AND v_part_no_f \' ||
|| \' AND inventory_part_tab.contract=\'AI\') \' ||
|| \' where part_catalog_tab.part_no BETWEEN \' ||
|| \' part_no_i AND v_part_no_f \';
EXECUTE IMMEDIATE SQL_AUX;
end inventory_part_tab_etape3;
/

espero que te sirva.

Un saludo

Rober
18 de Enero del 2006
Gracias, pero me sigue pasando!!!

SQL> CREATE OR REPLACE PROCEDURE inventory_part_tab_etape3
2 ( v_part_no_i IN inventory_part_tab.part_no%TYPE,
3 v_part_no_f IN inventory_part_tab.part_no%TYPE);
4 IS
5 SQL_AUX VARCHAR2(10000);
6 BEGIN
7 sql_aux:=\'UPDATE part_catalog_tab SET \' ||
8 || \' (description)=(select description from \' ||
9 || \' inventory_part_tab where \' ||
10 || \' inventory_part_tab.part_no BETWEEN \' ||
11 || \' v_part_no_i AND v_part_no_f \' ||
12 || \' AND inventory_part_tab.contract=\'AI\') \' ||
13 || \' where part_catalog_tab.part_no BETWEEN \' ||
14 || \' part_no_i AND v_part_no_f \';
15 EXECUTE IMMEDIATE SQL_AUX;
16 end inventory_part_tab_etape3;
17 /

Attention : Procédure créée avec erreurs de compilation.

Adjunto Show errors
18 de Enero del 2006
SQL> show errors
Erreurs pour PROCEDURE INVENTORY_PART_TAB_ETAPE3 :

LINE/COL ERROR
-------- -----------------------------------------------------------------
4/1 PLS-00103: Symbole "SQL_AUX" rencontré
6/1 PLS-00103: Symbole "BEGIN" rencontré à la place d'un des symboles
suivants :
end function package pragma private procedure subtype type
use <an identifier> <a double-quoted delimited-identifier>
cursor form current

SQL>

a
18 de Enero del 2006
Te sobra un ; en la cabecera del procedimiento antes del IS:
CREATE OR REPLACE PROCEDURE inventory_part_tab_etape3
2 ( v_part_no_i IN inventory_part_tab.part_no%TYPE,
3 v_part_no_f IN inventory_part_tab.part_no%TYPE);
4 IS