需求是這樣的:有一張經緯度表,需要從中隨機取一條資料插入另一張表作為其中的兩個字段。插入過程在儲存過程中,所以需要函式返回值為經緯度資料物件。
首先,生成返回值物件point_object,包括經度緯度。
--生成經緯度
create or replace type point_object as object
( longitude varchar2(128),
latitude varchar2(128)
);
函式point_function的過程就是定義select... into... from table,from是隨機抽取經緯度表中的一條。(沒有引數的函式不要加括號,不要加括號,不要加括號)
create or replace function point_function
return point_object
asradom_point point_object := point_object('','');
begin
select longitude,latitude
into radom_point.longitude,radom_point.latitude
return radom_point;
end;
select point_function().longitude from dual;
使用方法:在儲存過程中定義乙個point_object型別的變數radompoint,然後賦值radompoint := point_function(); 取值為:radompoint.latitude;radompoint.longitude
引用過程eg:
declare maxrecords constant int:=10000;
radompoint point_object;
i int :=1;
begin
for i in 1..maxrecords loop
id := get_uuid;
radompoint := point_function();
incident_time := get_date;
incident_disposal_id := get_uuid;
insert into incidentinformation
(incidentinformationid,incidentstateid,starttime,endtime,incidentactuallyaddress,province,city,latitude,longitude,incidenttypeid,incidentnumber,combinestate)
values
(id,7,incident_time,null,'113','0201','020101',radompoint.latitude,radompoint.longitude,'0120712',dbms_random.string ('a', 11),0);
end loop;
dbms_output.put_line(' 成功錄入資料! ');
commit; end;
MySql從表結果集中隨機取一條資料
該功能的實現基於 mysql 查詢結果中自動加序號列 select from select rowno rowno 1 as rowno,pwd from pur admininfo,select rowno 0 b tmp where rowno select round rand 1000000...
MySql從表結果集中隨機取一條資料
該功能的實現基於 mysql 查詢結果中自動加序號列 select from select rowno rowno 1 as rowno,pwd from pur admininfo,select rowno 0 b tmp where rowno select round rand 1000000...
如何快速從 List 中查詢一條資料
這是乙個很經典的面試題,其實考了很多點 首先先問問,你這個list是arraylist還是linkedlist 那麼為什麼要問這個呢,arraylist和linkedlist區別我就不介紹了吧,arraylist陣列結構,linkedlist鍊錶結構。arraylist 測試結果 for迴圈測試結果...