sql写语句如何循环执行10000次 我发帖子了,有财富值,答对全给你,请帮忙。。。

insert into julicef(id,GPSLng,GPSLat)select id,GPSLng,GPSLat from julice where id=(select min(id)from julice)

insert into juliceg(id,GPSLng,GPSLat,store_id,Lng,Lat,distance)SELECT *, ( 6378.140* acos( cos( radians(GPSLat) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(GPSLng) ) + sin( radians(GPSLat) ) * sin( radians( lat ) ) ) ) AS distance FROM julicef,juli order by id,GPSLng,GPSLat,store_id,Lng,Lat asc

insert into juliceI(id,GPSLng,GPSLat,store_id,Lng,Lat,distance)select top 3 * from juliceg order by id,GPSLng,GPSLat,distance,store_id,Lng,Lat asc

delete from julicef

delete from julice where id=(select min(id)from julice)

delete from juliceg

第1个回答  2016-08-15
利用job就可以了,把这个语句写成存储过程追问

能写给我吗?

追答CREATE OR REPLACE PROCEDURE PKG_10000 AS
  V_MAX    NUMBER(5);
  V_MIN    NUMBER(5);
BEGIN

  V_MAX := 10000;
  V_MIN := 1;
  
  WHILE V_MIN < V_MAX LOOP

insert into julicef(id,GPSLng,GPSLat)select id,GPSLng,GPSLat from julice where id=(select min(id)from julice);

insert into juliceg(id,GPSLng,GPSLat,store_id,Lng,Lat,distance)SELECT *, ( 6378.140* acos( cos( radians(GPSLat) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(GPSLng) ) + sin( radians(GPSLat) ) * sin( radians( lat ) ) ) ) AS distance FROM julicef,juli order by id,GPSLng,GPSLat,store_id,Lng,Lat asc;

insert into juliceI(id,GPSLng,GPSLat,store_id,Lng,Lat,distance)select top 3 * from juliceg order by id,GPSLng,GPSLat,distance,store_id,Lng,Lat asc;

delete from julicef;

delete from julice where id=(select min(id)from julice);

delete from juliceg;

INSERT INTO P_CT_LOG --这是个测试表
    VALUES
      ('PKG_10000',-- VARCHAR2(256);
       V_MIN, --NUMBER(5)
       V_BEGIN_TIME);  --DATE

   COMMIT;
    V_MIN := V_MIN + 1 ;
  END LOOP;

END PKG_10000;

追问

试了,不行,请看图

追答

你这是sql server ,,,我那个是Oracle,俩个数据库