Sie sind auf Seite 1von 3

------>UDF<------------

delimiter //
DROP PROCEDURE IF EXISTS processOrder;
CREATE PROCEDURE processOrder (OUT TotalOrders INTEGER,OUT TotalValue DECIMAL(12
,6))
BEGIN
DECLARE done INT Default 0;
DECLARE QtyO,Stock INT;
DECLARE OV DECIMAL(12,6);
DECLARE pID,cid,OId VARCHAR(20);
DECLARE d DATE;
DECLARE iterator CURSOR FOR SELECT order_id,customer_id,order_value FROM orders
OM WHERE OM.order_id=
(select o.order_id from orderItem o where disptach_status="pendi
ng" AND o.order_id=OM.order_id);
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;
OPEN iterator;
SET Totalvalue=0;
SET TotalOrders=0;
REPEAT
FETCH iterator into OId,cid,OV;
IF NOT done THEN
SET TotalOrders=TotalOrders+1;
SET Totalvalue=Totalvalue+OV;
select product_id,qty_ordered from OrderItem where order
_id=OId into pID,QtyO;
select qty_in_stock from product where Product_id=pID i
nto Stock;
IF Stock >= QtyO THEN
SET stock=stock-QtyO;
UPDATE product SET qty_in_stock=stock WHERE prod
uct_id=pID;
UPDATE Customer SET total_order_value=total_orde
r_value+OV WHERE customer_id=cid;
UPDATE OrderItem SET disptach_status="dispatched
" WHERE order_id=OId;
END IF;
END IF;
UNTIL done END REPEAT;
close iterator;
END //
delimiter ;

---------->Trigger<----------------------

delimiter //
DROP TRIGGER IF EXISTS InsertValues;
CREATE TRIGGER InsertValues AFTER UPDATE ON OrderItem FOR EACH ROW
Begin
DECLARE PID,OID VARCHAR(20);
DECLARE SValue,SQty int;
DECLARE done INT;
DECLARE iterator CURSOR FOR SELECT sale_value,sale_qty FROM DayToDaySales where
productName=(select Product_name from Product where Product_id=NEW.product_id)
AND sale_date= cast(now() AS DATE);
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;
SET PID=NEW.product_id;
SET OID=NEW.order_id;
OPEN iterator;
FETCH iterator into SValue,SQty;
IF done THEN
insert into DayToDaySales values((select Product_name from produ
ct where product_id=PID),cast(now() AS DATE),
(select Qty_ordered from OrderItem where order_id=OID),
(select product_price from Product where product_id=PID),
(select order_value from Orders where order_id=OID));
ELSE
update DayToDaySales SET sale_qty=SQty+(select qty_ordered from
orderitem where order_id = OID) where productName=(select Product_name from prod
uct where product_id=PID);
update DayToDaySales SET Sale_Value=(select order_value from ord
ers where Order_id=OID)+SValue where productName=(select Product_name from produ
ct where product_id=PID);
END IF;
close iterator;
END //
delimiter ;

-------------------->Test Case for Java Assignment<-----------------------------


class Polygon
{
public class point
{
public int x,y;
point(int a,int b){x=a;y=b;}
point(point a){x=a.x;y=a.y;}
}
public int sides,i,j;
public float peri=0;
public point p[]= new point[10];
public Polygon(int a[])
{
sides=(a.length/2);
System.out.println("inside constructor");
for(i=0,j=0;i<a.length;j++)
{
p[j]=new point(a[i++],a[i++]);
}
}
private float dist(point A,point B)
{
float temp;
temp=((A.x-B.x)*(A.x-B.x))+((A.y-B.y)*(A.y-B.y));
return (float)(Math.sqrt(temp));
}
public double perimeter()
{
for(i=0;i<sides-1;i++)
{
peri+=dist(p[i],p[i+1]);
}
peri+=dist(p[i],p[0]);
return peri;
}
}
class Program3{
public static void main(String Args[])
{
if(Args.length<6||(Args.length%2!=0))
{
System.out.println("Wrong format\n correct format:java P
rogram3 x0 y0 x1 y1.....");
return;
}
int A[] = new int[Args.length];
for(int i=0;i<Args.length;i++)
{
A[i]=(Integer.parseInt(Args[i]));
//System.out .println(A[i]);
}
Polygon poly=new Polygon(A);
System.out.println("Perimeter of the Polygon with "+poly.sides+" sides:"
+poly.perimeter());
}
}
[i],p[0]);
return peri;
}
}
class Program3{
public static void main(String Args[])
{
if(Args.length<6||(Args.length%2!=0))
{
System.out.println("Wrong format\n correct format:java P
rogram3 x0 y0 x1 y1.....");
return;
}
int A[] = new int[Args.length];
for(int i=0;i<Args.length;i++)
{
A[i]=(Integer.parseInt(Args[i]

Das könnte Ihnen auch gefallen