我有一個.sql文件,它有插入查詢。我將不得不更改插入查詢(基本上所有ID都需要在查詢中重置),然後執行。如何通過SQL過程更新.sql文件?
我已經嘗試閱讀.sql文件,並嘗試獲取身份證,但在這裏我不確定當時的舊身份證是什麼。我如何找到舊的ID並用新的替換?
任何人都可以建議我怎麼做到這一點?
這是我的Java和PL/SQL代碼:
ArrayDescriptor des = ArrayDescriptor.createDescriptor("OFSA.ARRAY_TABLE", con);
ARRAY array_to_pass = new ARRAY(des,con,array);
st = con.prepareCall("call OFSA.proc_test(?,?,?)");
st.setArray(1, array_to_pass);
st.registerOutParameter(2, Types.INTEGER);
st.registerOutParameter(3,OracleTypes.ARRAY,"OFSA.ARRAY _TABLE");
st.execute();
PLSQL代碼:
CREATE OR REPLACE PROCEDURE PROC_TEST(P_ARRAY IN ARRAY_TABLE,
LEN OUT NUMBER,
OP_ARRAY OUT ARRAY_TABLE) AS
V_COUNT NUMBER;
BEGIN
OP_ARRAY := NEW ARRAY_TABLE();
OP_ARRAY.EXTEND(50);
LEN := P_ARRAY.COUNT;
FOR I IN 1 .. P_ARRAY.COUNT LOOP
在這裏,我將要取代舊的標識與新的ID。但查詢是在一個字符串中。我不知道我的ID的確切位置..有些查詢也可以有多個ID。在這裏我需要找到id並用新的替換。
你爲什麼要這樣做?將該ID作爲參數傳遞給存儲過程不是更好嗎? –
你的dbms是什麼? ,你也可以顯示你的代碼? – Japongskie
在這個時候,我不確定在.sql中有多少個id將會存在......它將取決於特定於應用程序的對象。我不知道有多少個ID會在那裏。 – pooja