改正:ALTER TABLE ORDERS MODIFY TotalCost NUMBER(35,2);DECLARE i_key RAW(32); BEGIN i_key :=UTL_RAW.cast_to_raw('618272'); UPDATE ORDERS SET TotalCost = DBMS_CRYPTO.ENCRYPT( src=>UTL_RAW.CAST_TO_RAW(TotalCost), typ=>DBMS_CRYPTO.AES_CBC_PKCS5, key=>i_key, iv=>NULL ) WHERE TotalCost IS NOT NULL; END; /
时间: 2023-12-06 10:43:05 浏览: 75
alter table 2.zip_ALTER_Table_csharp_sql
修改:ALTER TABLE ORDERS MODIFY TotalCost NUMBER(35,2);
DECLARE
i_key RAW(32);
BEGIN
i_key := UTL_RAW.cast_to_raw('618272');
UPDATE ORDERS
SET TotalCost = DBMS_CRYPTO.ENCRYPT(
src => UTL_RAW.CAST_TO_RAW(TO_CHAR(TotalCost)),
typ => DBMS_CRYPTO.AES_CBC_PKCS5,
key => i_key,
iv => NULL
)
WHERE TotalCost IS NOT NULL;
END; /
这个修改过的代码将 TotalCost 列中的值进行了加密,并将其更新回数据库。在这里,我们使用 AES_CBC_PKCS5 加密算法对 TotalCost 进行加密,使用的密钥是 '618272'。注意,我们需要通过 TO_CHAR 函数将 TotalCost 转换为字符串类型,以便进行加密。
阅读全文