Oracle
使用 ROW 而不是參數列表的儲存過程
我有一個包含 15 列的表,並嘗試在 PL SQL 中創建一個儲存過程,該過程只會使用該
INSERT
語句在表中插入一行。我想知道是否可以將儲存過程的IN參數列表聲明為
RECORD
結構而不是15個參數,所以在呼叫這個儲存過程時,我只會傳遞一個RECORD
結構而不是15個單個變數。這在 PL SQL 中可能嗎?如果沒有,是否有做這種聲明的簡寫?謝謝
當然。您甚至可以使用預定義的
%rowtype
記錄。CREATE OR REPLACE PROCEDURE insert_row( p_rec IN table_name%rowtype ) AS BEGIN INSERT INTO table_name VALUES p_rec; END;