Oracle

使用 ROW 而不是參數列表的儲存過程

  • November 29, 2017

我有一個包含 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;

引用自:https://dba.stackexchange.com/questions/61274