Академический Документы
Профессиональный Документы
Культура Документы
/
create or replace type varchar2_t2 is table of varchar2_t;
/
create or replace
FUNCTION upset_location(column_value varchar2_t2)
RETURN VARCHAR2
IS
outdata VARCHAR2(100);
TYPE t_location_type IS TABLE OF location_layer%ROWTYPE;
l_tab t_location_type := t_location_type();
l_start NUMBER;
--l_size NUMBER := 10000;
column_row varchar2_t;
c NUMBER := 0;
BEGIN
-- Populate collections.
l_start := DBMS_UTILITY.get_time;
for i in 1 .. column_value.count loop
column_row := column_value(i);
IF column_row(1) IS NULL THEN
EXIT;
end if;
UPDATE location_layer
SET trung_tam =column_row(1),
dai_vt =column_row(2),
to_vt =column_row(3),
quan_huyen =column_row(4)
--,site =column_row(5)
--,last_update =TO_DATE(column_row(6),'yyyy/mm/dd hh24:mi:ss'),
--value=column_row(7)
WHERE quan_huyen = column_row(4);
IF ( sql%rowcount = 0 ) THEN
l_tab.extend;
l_tab(l_tab.last).trung_tam:=column_row(1);
l_tab(l_tab.last).dai_vt:=column_row(2);
l_tab(l_tab.last).to_vt:=column_row(3);
l_tab(l_tab.last).quan_huyen:=column_row(4);
--l_tab(l_tab.last).site:=column_row(5);
--l_tab(l_tab.last).last_update:=TO_DATE(column_row(6),'yyyy/mm/dd
hh24:mi:ss');
--l_tab(l_tab.last).value:=column_row(7);
c:=c+1;
END IF;
end loop;
IF ( sql%rowcount = 0 ) THEN
l_tab.extend;
l_tab(l_tab.last).trung_tam:=column_row(1);
l_tab(l_tab.last).dai_vt:=column_row(2);
l_tab(l_tab.last).to_vt:=column_row(3);
l_tab(l_tab.last).quan_huyen:=column_row(4);
l_tab(l_tab.last).site:=column_row(5);
--l_tab(l_tab.last).last_update:=TO_DATE(column_row(6),'yyyy/mm/dd
hh24:mi:ss');
--l_tab(l_tab.last).value:=column_row(7);
c:=c+1;
END IF;
end loop;
SET SERVEROUTPUT ON
create or replace
FUNCTION insert_site(column_value varchar2_t2)
RETURN VARCHAR2
IS
outdata VARCHAR2(100);
TYPE t_site IS TABLE OF site%ROWTYPE;
l_tab t_site := t_site();
l_start NUMBER;
column_row varchar2_t;
c NUMBER := 0;
BEGIN
-- Populate collections.
l_start := DBMS_UTILITY.get_time;
for i in 1 .. column_value.count loop
column_row := column_value(i);
IF column_row(1) IS NULL THEN
EXIT;
end if;
l_tab.extend;
l_tab(l_tab.last).trung_tam:=column_row(1);
l_tab(l_tab.last).dai_vt:=column_row(2);
l_tab(l_tab.last).to_vt:=column_row(3);
l_tab(l_tab.last).quan_huyen:=column_row(4);
l_tab(l_tab.last).site:=column_row(5);
--l_tab(l_tab.last).last_update:=TO_DATE(column_row(6),'yyyy/mm/dd
hh24:mi:ss');
--l_tab(l_tab.last).value:=column_row(7);
end loop;
create or replace
FUNCTION insert_iot(arr_c varchar2_t2,arr_n float_t2)
RETURN VARCHAR2
IS
outdata VARCHAR2(100);
TYPE t_sensort IS TABLE OF sensort%ROWTYPE;
l_tab t_sensort := t_sensort();
stime NUMBER;
c_row varchar2_t;
n_row float_t;
BEGIN
-- Populate collections.
stime := DBMS_UTILITY.get_time;
for i in 1 .. arr_c.count loop
c_row := arr_c(i);
n_row := arr_n(i);
IF c_row(1) IS NULL THEN
EXIT;
end if;
l_tab.extend;
l_tab(l_tab.last).site:=c_row(1);
l_tab(l_tab.last).sensor:=c_row(2);
l_tab(l_tab.last).value:=n_row(1);
l_tab(l_tab.last).times:=n_row(2);
end loop;
BEGIN
-- Populate collections.
stime := DBMS_UTILITY.get_time;
for i in 1 .. arr_c.count loop
c_row := arr_c(i);
n_row := arr_n(i);
IF c_row(1) IS NULL THEN
EXIT;
end if;
l_tab.extend;
l_tab(l_tab.last).cell:=c_row(1);
--l_tab(l_tab.last).sensor:=c_row(2);
--l_tab(l_tab.last).value:=n_row(1);
--l_tab(l_tab.last).times:=n_row(2);
end loop;