CREATE OR REPLACE PROCEDURE deleteimport
AS
BEGIN DECLARE
CURSOR cur_1 IS SELECT bar_cust_code,barcode,import_id FROM mkt_bar_import_tmp;
DECLARE @bar_cust_code char ; /*设备唯一标识*/
DECLARE @barcode char, /*需要进行维护的日期*/
DECLARE @import_id integer /*当天日期和维护日期的比较值*/
OPEN cur_1 ;
loop
fetch next from cur_1 INTO @bar_cust_code,@barcode,@import_id
while (@@FETCH_STATUS =0)
begin
delete mkt_bar_import where bar_cust_code=@bar_cust_code and barcode=@barcode and import_id<>@import_id;
commit;
fetch next from cur_1 INTO @bar_cust_code,@barcode,@import_id
end END deleteimport;declare
begin
gn.deleteimport;--这里也可调用
end;
AS
BEGIN DECLARE
CURSOR cur_1 IS SELECT bar_cust_code,barcode,import_id FROM mkt_bar_import_tmp;
DECLARE @bar_cust_code char ; /*设备唯一标识*/
DECLARE @barcode char, /*需要进行维护的日期*/
DECLARE @import_id integer /*当天日期和维护日期的比较值*/
OPEN cur_1 ;
loop
fetch next from cur_1 INTO @bar_cust_code,@barcode,@import_id
while (@@FETCH_STATUS =0)
begin
delete mkt_bar_import where bar_cust_code=@bar_cust_code and barcode=@barcode and import_id<>@import_id;
commit;
fetch next from cur_1 INTO @bar_cust_code,@barcode,@import_id
end END deleteimport;declare
begin
gn.deleteimport;--这里也可调用
end;
oracle定义变量不需要用很多个declare,变量名前没有@
楼主的存储过程声明部分像oracle,中间语句部分像sqlserver。不知道楼主的真实意图!