本文介紹了瀏覽多個字段的值并將其插入到同一列中的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我正在嘗試使用復制的行為我的Oracle APACH應用程序創建一個功能。假設我有一個車輛表。
CREATE TABLE vehicles
(
brand VARCHAR2(50),
model VARCHAR2(50),
comment VARCHAR2(50)
);
我首先創建了一個當前正在運行的PL/SQL過程,它將用戶選擇的行復制n次。例如,如果用戶有5輛相同的車輛,他可以輸入&q;5&q;,應用程序將插入5次相同的車輛,當然主鍵不同。
我試圖實現的是為用戶提供在每一行添加自定義注釋的可能性。例如,他會有5輛相同的車,每輛車都有不同的評論。
以下是用戶插入汽車時的程序代碼:
FOR i IN 1..:P27_NUMBER_VEHICLES -- this represents the numbers of cars the users want to insert
LOOP
INSERT INTO vehicles(brand, model)
VALUES(:P27_BRAND, :P27_MODEL);
END LOOP;
END;
這會創建5輛相同的車輛,但我希望用戶能夠在每輛車上添加5種不同的評論,這里是an example of my insertion form,評論字段根據用戶想要插入的數字動態顯示
我現在已嘗試使用注釋更新我的過程,我嘗試給出一個可由該過程動態更改的名稱,我將其命名為:p27_COMMENT_0/1/2/3/4/5。因此,我嘗試添加:p27_COMMENT_||i(循環的索引)以嘗試自動瀏覽不同的字段,代碼如下:
BEGIN
FOR i IN 1..:P27_NUMBER_VEHICLES
LOOP
INSERT INTO vehicles(brand, model, comment)
VALUES(:P27_BRAND, :P27_MODEL, :P27_COMM_ || i);
END LOOP;
END;
很遺憾,這不起作用。
我希望你們能給我一個解決方案。總而言之,我正在嘗試使用循環復制一行,但仍然能夠為特定列上的每個行添加自定義條目。
請不要猶豫詢問更多細節,因為我可能忘了一些重要的事情。
提前謝謝您,
托馬斯
更新
這是它的顯示方式,我不能在上面寫任何東西:
推薦答案
在我看來更容易使用apex_Item,如下所示:
在項目后添加交互式報表區域或子區域。
將IR SQL查詢設置為:
SELECT
APEX_ITEM.TEXT(
p_idx => 1,
p_attributes=> 'placeholder="Comment '|| LEVEL ||'"') AS Name
FROM dual
CONNECT BY LEVEL <= TO_NUMBER (:P16_NUM)
;
:P16_NUM
是保存要顯示的項數的項。不要忘記將其添加到IR”源”部分的”要提交的頁面項目”中。
添加提交按鈕。
在處理中創建新流程并迭代項目,如下所示:
BEGIN
apex_debug.enable;
for i in apex_application.g_f01.FIRST..apex_application.g_f01.LAST loop
apex_debug.info('####### Comment '||i||' '||apex_application.g_f01(i));
end loop;
END;
-
終于您的
INSERT
:
INSERT INTO vehicles(brand, model, comment)
VALUES(:P27_BRAND, :P27_MODEL, apex_application.g_f01(i));
-
檢查一切正常后,更改進程代碼:
BEGIN
for i in apex_application.g_f01.FIRST..apex_application.g_f01.LAST loop
INSERT INTO vehicles(brand, model, comment)
VALUES(:P27_BRAND, :P27_MODEL, apex_application.g_f01(i));
end loop;
END;
編輯
-
選擇輸入所在的列,在右側找到”安全性”部分并禁用轉義特殊字符。
這篇關于瀏覽多個字段的值并將其插入到同一列中的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,