【发布时间】:2021-07-30 12:06:20
【问题描述】:
我有这个存储过程:
create or replace procedure InsertProduct
(product_name VARCHAR2,
product_price int,
product_description varchar2)
as
begin
insert into PRODUCT (name, price, description, create_date)
values (product_name, product_price, product_description, sysdate);
end;
我用它一次插入1000行:
begin
for insert_loop in 1..1000 loop
InsertProduct(dbms_random.string('x', 10), DBMS_RANDOM.value(low => 1, high => 100000) , dbms_random.string('x', 10));
end loop;
commit;
end;
delete from PRODUCT;
但是这个循环添加了随机记录,是否可以添加真实的产品记录,如果可以,怎么做?
【问题讨论】:
-
这取决于。记录从何而来?应用程序是用什么语言和/或框架构建的?该过程是否公开为 REST 端点?您的过程可以在许多情况下工作,但不适用于其他情况(某些框架不允许您调用自定义 pl/sql 过程)。在您详细解释您的应用程序、您已经尝试过的内容(通过可重现的示例)以及遇到的错误之前,我不确定这里的任何人都可以为您提供帮助。
-
真正的问题是:“如何在数据库中获取真实的产品名称?”这个问题无法回答,与 Oracle 或任何其他 DBMS 无关。此外,程序代码无法知道是不是真实。为什么你认为产品“gjngdl14525ayerlkblskfkl”是不真实的?
-
因为你拼错了,@astentx。应该是“gjngdl14525ayerFkblskfkl”。