我正在從螞蟻腳本調用PL/SQL過程。在輸出窗口中顯示「構建成功」,但存儲過程proc.sql
未執行。從螞蟻腳本調用PL/SQL過程不會運行存儲過程
這裏是我的構建腳本:
<target name="DATA">
<property name="oracle.scriptPath" value="D:\\ganganshu" />
<property name="oracle.tns_alias2" value="wind"/>
<!-- Oracle user name -->
<property name="oracle.user_name2" value="SILO2" />
<!-- Oracle Password -->
<property name="oracle.password2" value="SILO2" />
<exec executable="sqlplus" failonerror="true">
<arg value="${oracle.user_name2}/${oracle.password2}@${oracle.tns_alias2}"/>
<arg value="@${oracle.scriptPath}\\ELEM10_ELEM_PHX_WTPART.sql"/>
<arg value="@${oracle.scriptPath}\\proc.sql"/>
</exec>
</target>
我的存儲過程是:
create or replace
PROCEDURE ELEM10_ELEM_PHX_ATT_WTPART
AS
CURSOR targ_dest_relation IS
SELECT sourcecolumn FROM mapping where destinationtable='ATT_WTPART';
BEGIN
DECLARE
source_Table varchar2(255) := 'ELEM10_ELEM_PHX';
destination_Table varchar2(255) := 'ATT_WTPART';
src_Column varchar2(255);
src_Type varchar2(255);
src_Type_Value varchar2(255);
src_Name varchar2(255);
src_Name_Value varchar2(255);
dest_Column varchar2(255);
dest_Column_Value varchar2(255);
query1 varchar2(255);
BEGIN
FOR rec IN targ_dest_relation loop
dbms_output.put_line('destination_Table: ' || destination_Table);
dbms_output.put_line('source_Table: ' || source_Table);
src_Column := rec.sourcecolumn;
dbms_output.put_line('src_Column: ' || src_Column);
src_Type := 'select data_type from user_tab_columns where
table_name ='''||source_Table||'''and column_name='''||
src_Column ||'''';
dbms_output.put_line('src_Type: ' || src_Type);
execute immediate src_Type INTO src_Type_Value;
dbms_output.put_line('src_Type_Value: ' || src_Type_Value);
dest_Column := 'select DEST_COLUMN from ATT_TABLE_MAPPING where
SOURCETYPE='''|| src_Type_Value || '''';
dbms_output.put_line('dest_Column: ' || dest_Column);
execute immediate dest_Column INTO dest_Column_Value;
dbms_output.put_line('dest_Column_Value: ' || dest_Column_Value);
src_Name := 'select column_name from user_tab_columns where
table_name ='''|| source_Table ||''' and column_name= ''' ||
src_Column || '''';
dbms_output.put_line('src_Name: ' || src_Name);
execute immediate src_Name INTO src_Name_Value;
dbms_output.put_line('src_Name_Value: ' || src_Name_Value);
EXECUTE IMMEDIATE 'INSERT INTO ' || destination_Table || ' (IBANAME,' ||
dest_Column_Value || ') SELECT :name,' || src_Column ||
' FROM ' || source_Table USING src_Name_Value;
END loop;
END;
END;
爲什麼這不能運行存儲過程?
那就是程序的公正定義,你在哪裏打電話嗎? – mucio
這是我的問題..我需要從螞蟻腳本中調用它,所以如何調用它是我的問題 – user3069865
在build.xml文件中,我需要調用哪個在頂部給出。 – user3069865