1
我試圖在Oracle中執行更新時從數組中選取一個隨機項。什麼是最簡單的方法來實現這一點?在SQL中創建數組Oracle
我想是這樣的:
DECALRE數組項=( '物品1', 'ITEM2', '項目3')
更新表設置字段=項目(TRUNCT(DBMS_RANDOM.VALUE(1, 3)))
通過這種方式,來自列表的隨機值被插入到正在更新的每個記錄的字段中。
我試圖在Oracle中執行更新時從數組中選取一個隨機項。什麼是最簡單的方法來實現這一點?在SQL中創建數組Oracle
我想是這樣的:
DECALRE數組項=( '物品1', 'ITEM2', '項目3')
更新表設置字段=項目(TRUNCT(DBMS_RANDOM.VALUE(1, 3)))
通過這種方式,來自列表的隨機值被插入到正在更新的每個記錄的字段中。
如果您使用的是固定大小的數組,你可以在PL/SQL使用VARRAY:
DECLARE
TYPE strArray IS VARRAY(3) of VARCHAR2(10);
v_myarray strArray;
BEGIN
v_myarray := strArray('item1', 'item2', 'item3');
update table
set field = v_myarray(DBMS_RANDOM.value(1,3));
END;
/
爲什麼你需要一個數組來做到這一點?爲什麼不更新? – Ben