【发布时间】:2020-03-17 10:01:44
【问题描述】:
我正在尝试创建一个可以传递sampling 参数的过程,我尝试了很多方法都失败了......
create or replace PROCEDURE proc_sampling (
v_sample NUMBER
) AS
BEGIN
-- USE SAMPLE PARAMETER (v_sample) TO SAMPLE THE BELOW SUB-QUERY
FOR i IN (
SELECT DISTINCT
*
FROM
t1,
t2,
t3
WHERE
t1.id=t2.id
and t2.fid=t3.fid
) LOOP
BEGIN
INSERT INTO mytable (
x,y,z
) VALUES (
v1,v2,v3
);
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
END LOOP;
COMMIT;
END;
【问题讨论】:
-
你希望从这个过程中得到什么输出。请仅针对您的要求,因为可能有一些简单的解决方案可用。
-
我只需要传递一个值作为过程内的
sampling参数,我会解释更多 -
SELECT * FROM TABLE ( rs ) where rownum<=20试试这个!! -
@Tejash 实际上我想使用示例,因为它会改变结果以更好地代表我的情况
-
您的更新似乎与您发布的第一个问题完全不同。但是你的要求还不清楚。我认为您想使用
v_sample参数限制插入mytable的行数。您还有其他标准(例如随机性)吗?
标签: sql oracle plsql oracle11g