有什么方法可以为未知数量的列创建存储过程吗?
Are there any ways of creating stored procedure for unknown number of columns?
我有 cars
table,它有 18 列。
CREATE TABLE CARS
(
ID INTEGER PRIMARY KEY,
Manufacturer VARCHAR2(1000),
Model VARCHAR2(1000),
Year INTEGER NOT NULL,
Category VARCHAR2(1000) NOT NULL,
Mileage NUMBER,
FuelType VARCHAR2(1000),
EngineVolume NUMBER,
DriveWheels VARCHAR2(1000),
GearBox VARCHAR2(1000),
Doors VARCHAR2(1000),
Wheel VARCHAR2(1000),
Color VARCHAR2(1000),
InteriorColor VARCHAR2(1000),
VIN VARCHAR2(1000),
LeatherInterior VARCHAR2(1000) NOT NULL,
Price VARCHAR2(1000) NOT NULL,
Clearence VARCHAR2(1000) NOT NULL
)
我们将在界面上为该栏目做一个更新程序。所以我可以只为一列创建一个动态 sql 过程。但是我们不知道用户要在界面上更新多少列。那么,我该如何为它制作程序呢?
只需创建一个过程来更新用户可能更改的所有列,无论他们是否确实更改过。通常不需要检查并且只更新他们更改的特定列 - 除非这样做可能会有一些重大损失(例如性能)(通常不会)。
我有 cars
table,它有 18 列。
CREATE TABLE CARS
(
ID INTEGER PRIMARY KEY,
Manufacturer VARCHAR2(1000),
Model VARCHAR2(1000),
Year INTEGER NOT NULL,
Category VARCHAR2(1000) NOT NULL,
Mileage NUMBER,
FuelType VARCHAR2(1000),
EngineVolume NUMBER,
DriveWheels VARCHAR2(1000),
GearBox VARCHAR2(1000),
Doors VARCHAR2(1000),
Wheel VARCHAR2(1000),
Color VARCHAR2(1000),
InteriorColor VARCHAR2(1000),
VIN VARCHAR2(1000),
LeatherInterior VARCHAR2(1000) NOT NULL,
Price VARCHAR2(1000) NOT NULL,
Clearence VARCHAR2(1000) NOT NULL
)
我们将在界面上为该栏目做一个更新程序。所以我可以只为一列创建一个动态 sql 过程。但是我们不知道用户要在界面上更新多少列。那么,我该如何为它制作程序呢?
只需创建一个过程来更新用户可能更改的所有列,无论他们是否确实更改过。通常不需要检查并且只更新他们更改的特定列 - 除非这样做可能会有一些重大损失(例如性能)(通常不会)。