Hi! Could we please enable some services and cookies to improve your experience and our website?

SQLize | PHPize | SQLtest

Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code

A A A
Login    Share code      Blog   FAQ
Copy Format Clear
-- create CREATE TABLE Devices ( maker VARCHAR2(5), model VARCHAR2(5), types VARCHAR2(10), price number ); -- insert INSERT INTO Devices VALUES ('A', 'S1200', 'Switch', 870); INSERT INTO Devices VALUES ('A', 'S1900', 'Switch', 1600); INSERT INTO Devices VALUES ('A', 'S2800', 'Switch', 4200); INSERT INTO Devices VALUES ('B', 'S2900', 'Switch', 2900); INSERT INTO Devices VALUES ('B', 'S2600', 'Switch', 15000); INSERT INTO Devices VALUES ('B', 'S2000', 'Switch', 2700); INSERT INTO Devices VALUES ('C', 'R700', 'Router', 1200); INSERT INTO Devices VALUES ('C', 'R1600', 'Router', 1700); INSERT INTO Devices VALUES ('C', 'R4000', 'Router', 27000); INSERT INTO Devices VALUES ('C', 'R2500', 'Router', 2800); INSERT INTO Devices VALUES ('D', 'R7000', 'Router', 85000); INSERT INTO Devices VALUES ('D', 'R7500', 'Router', 93000); INSERT INTO Devices VALUES ('E', 'W520', 'Router', 1100); INSERT INTO Devices VALUES ('E', 'W300', 'Router', 1500); INSERT INTO Devices VALUES ('E', 'W500', 'Router', 2000); INSERT INTO Devices VALUES ('E', 'W130', 'Router', 1800); -- create CREATE TABLE Switches ( model VARCHAR2(5), port VARCHAR2(10), num number ); -- insert INSERT INTO Switches VALUES ('S1200', '10BaseT', 8); INSERT INTO Switches VALUES ('S1200', 'FDDI', 1); INSERT INTO Switches VALUES ('S1200', '10BaseFL', 8); INSERT INTO Switches VALUES ('S2900', '10BaseT', 24); INSERT INTO Switches VALUES ('S2900', '100BaseTX', 24); INSERT INTO Switches VALUES ('S2800', '10BaseT', 24); INSERT INTO Switches VALUES ('S2800', '100BaseTX', 8); INSERT INTO Switches VALUES ('S2000', '10BaseT', 8); INSERT INTO Switches VALUES ('S2000', '100BaseTX', 8); INSERT INTO Switches VALUES ('S2600', '10BaseT', 24); INSERT INTO Switches VALUES ('S2600', '100BaseTX', 24); INSERT INTO Switches VALUES ('S2600', '100BaseFX', 2); -- create CREATE TABLE Routers ( model VARCHAR2(5), port VARCHAR2(16), num number, types VARCHAR2(5) ); -- insert INSERT INTO Routers VALUES ('R700', '10BaseT', 4, 'LAN'); INSERT INTO Routers VALUES ('R700', 'E1', 1, 'WAN'); INSERT INTO Routers VALUES ('R700', 'ISDN-BRI', 1, 'LAN'); INSERT INTO Routers VALUES ('R1600', '10BaseT', 1, 'LAN'); INSERT INTO Routers VALUES ('R1600', 'FrameRelay', 1, 'WAN'); INSERT INTO Routers VALUES ('R1600', 'ISDN-BRI', 1, 'WAN'); INSERT INTO Routers VALUES ('R4000', '100BaseFX', 2, 'LAN'); INSERT INTO Routers VALUES ('R4000', 'TokenRing', 2, 'LAN'); INSERT INTO Routers VALUES ('R4000', 'ISDN-BRI', 1, 'WAN'); INSERT INTO Routers VALUES ('R4000', 'X.25', 1, 'WAN'); INSERT INTO Routers VALUES ('R2500', 'TokenRing', 1, 'LAN'); INSERT INTO Routers VALUES ('R2500', 'FrameRelay', 2, 'WAN'); INSERT INTO Routers VALUES ('R7000', '100BaseFX', 2, 'LAN'); INSERT INTO Routers VALUES ('R7000', 'FDDI', 1, 'WAN'); INSERT INTO Routers VALUES ('R7000', 'ATM', 1, 'WAN'); INSERT INTO Routers VALUES ('R7500', '100BaseFX', 6, 'LAN'); INSERT INTO Routers VALUES ('R7500', 'FDDI', 1, 'LAN'); INSERT INTO Routers VALUES ('R7500', 'ATM', 1, 'WAN'); INSERT INTO Routers VALUES ('R7500', 'ISDN-BRI', 2, 'WAN'); INSERT INTO Routers VALUES ('W520', 'Antenna', 1, 'LAN'); INSERT INTO Routers VALUES ('W520', '100BaseTX', 4, 'LAN'); INSERT INTO Routers VALUES ('W520', 'FDDI', 1, 'WAN'); INSERT INTO Routers VALUES ('W300', 'Antenna', 1, 'LAN'); INSERT INTO Routers VALUES ('W300', '100BaseTX', 8, 'LAN'); INSERT INTO Routers VALUES ('W300', 'FrameRelay', 1, 'WAN'); INSERT INTO Routers VALUES ('W500', 'Antenna', 1, 'LAN'); INSERT INTO Routers VALUES ('W500', '100BaseTX', 4, 'LAN'); INSERT INTO Routers VALUES ('W500', 'FDDI', 1, 'WAN'); -- create CREATE TABLE WAN ( port VARCHAR2(16), standard VARCHAR2(20), bitRate number, cannels number ); -- insert INSERT INTO WAN VALUES ('ISDN-BRI', 'CCITT', 64, 2); INSERT INTO WAN VALUES ('X.25', 'CCITT', 64, 0); INSERT INTO WAN VALUES ('FrameRelay', 'Frame Relay Forum', 56, 27); INSERT INTO WAN VALUES ('ATM', 'ATM Forum', 155520, 4); INSERT INTO WAN VALUES ('E1', '', 64, 30); -- create CREATE TABLE LAN ( standard VARCHAR2(20), port VARCHAR2(20), bitRate number, busType VARCHAR2(10), length number ); -- insert INSERT INTO LAN VALUES ('IEEE802.3', '10BaseT', 10, 'UTP', 100); INSERT INTO LAN VALUES ('IEEE802.3', '100BaseTX', 100, 'UTP', 100); INSERT INTO LAN VALUES ('IEEE802.3', '100BaseFX', 100, 'Fiber', 2000); INSERT INTO LAN VALUES ('IEEE802.3', '10BaseFL', 10, 'Fiber', 2000); INSERT INTO LAN VALUES ('IEEE802.3', '100BaseFX', 100, 'Fiber', 2000); INSERT INTO LAN VALUES ('FDDI', 'FDDI', 10, 'Fiber', 2000); INSERT INTO LAN VALUES ('IEEE802.5', 'TokenRing', 100, 'UTP', 100); INSERT INTO LAN VALUES ('IEEE802.11b', 'Antenna', 11, 'wireless', 600); INSERT INTO LAN VALUES ('IEEE802.11g', 'Antenna', 54, 'wireless', 100); INSERT INTO LAN VALUES ('IEEE802.11g', 'Antenna', 54, 'wireless', 100); -- 1 DECLARE CURSOR cur_switches IS SELECT D.model, D.price, D.type_, S.num FROM Devices D JOIN Switches S ON D.model = S.model WHERE D.type_ = 'Switch'; v_model Devices.model%TYPE; v_price Devices.price%TYPE; v_device_type Devices.type_%TYPE; v_num Switches.num%TYPE; BEGIN OPEN cur_switches; LOOP FETCH cur_switches INTO v_model, v_price, v_device_type, v_num; EXIT WHEN cur_switches%NOTFOUND; DBMS_OUTPUT.PUT_LINE('Model: ' || v_model || ', Price: ' || v_price || ', Type: ' || v_device_type || ', Ports: ' || v_num); END LOOP; CLOSE cur_switches; END; -- 2 DECLARE CURSOR cur_routers IS SELECT D.maker, D.model, D.type_, R.port FROM Devices D JOIN Routers R ON D.model = R.model WHERE D.type_ = 'Router'; v_router cur_routers%ROWTYPE; BEGIN OPEN cur_routers; LOOP FETCH cur_routers INTO v_router; EXIT WHEN cur_routers%NOTFOUND; DBMS_OUTPUT.PUT_LINE('Maker: ' || v_router.maker || ', Model: ' || v_router.model || ', Type: ' || v_router.type_ || ', Port Speed: ' || v_router.port); END LOOP; CLOSE cur_routers; END; --3 DECLARE CURSOR cur_expensive_switches IS SELECT D.model, D.price, S.num FROM Devices D JOIN Switches S ON D.model = S.model WHERE D.type_ = 'Switch' AND D.price > 4000; BEGIN FOR switch_record IN cur_expensive_switches LOOP DBMS_OUTPUT.PUT_LINE('Model: ' || switch_record.model || ', Price: ' || switch_record.price || ', Ports: ' || switch_record.num); END LOOP; END; --4 DECLARE CURSOR cur_routers_with_price(p_price NUMBER) IS SELECT D.model, D.type_, R.num, R.port FROM Devices D JOIN Routers R ON D.model = R.model WHERE D.type_= 'Router' AND D.price > p_price; v_router cur_routers_with_price%ROWTYPE; BEGIN OPEN cur_routers_with_price(8000); -- Укажите нужный параметр: 8000, 1000, 2000 LOOP FETCH cur_routers_with_price INTO v_router; EXIT WHEN cur_routers_with_price%NOTFOUND; DBMS_OUTPUT.PUT_LINE('Model: ' || v_router.model || ', Type: ' || v_router.type_ || ', Ports: ' || v_router.num || ', Port Speed: ' || v_router.port); END LOOP; CLOSE cur_routers_with_price; END; --5 DECLARE CURSOR switch_maker_cursor IS SELECT DISTINCT maker FROM Devices WHERE type_= 'Switch'; BEGIN FOR maker_row IN switch_maker_cursor LOOP DBMS_OUTPUT.PUT_LINE('Maker: ' || maker_row.maker); END LOOP; END;

Stuck with a problem? Got Error? Ask AI support!

Copy Clear