sql >> Databáze >  >> RDS >> Oracle

SQL Server uložené procedury od Oracle®

V SQL Server vytvořte a naplňte ukázkovou tabulku.

CREATE TABLE EMP ( EMPNO FLOAT(4) NOT NULL PRIMARY KEY, ENAME VARCHAR(10), JOB VARCHAR(9), MGR FLOAT(4), DATUM HIREDATE, SAL NUMERIC(7,2), COMM NUMERIC(7 ,2), DEPTNO NUMERIC(2));INSERT INTO EMP VALUES (7369, 'SMITH', 'CLERK', 7902, '12-17-1980', 800, NULL, 20)INSERT INTO EMP VALUES (7499, ' ALLEN', 'SALESMAN', 7698, '02-20-1981', 1600, 300, 30)VLOŽTE DO HODNOT EMP (7521, 'WARD', 'SALESMAN', 7698, '02-01-1981', '02-01-1981', 500, 30) VLOŽIT DO HODNOT EMP (7566, 'JONES', 'MANAGER', 7839, '04-02-1981', 2975, NULL, 20) VLOŽIT DO HODNOT EMP (7654, 'SALESMAN', ' 7698, '09-28-1981', 1250, 1400, 30)VLOŽTE DO HODNOT EMP (7698, 'BLAKE', 'MANAGER', 7839, '05-01-1981', 2850, EMP INSERT, NULL HODNOTY (7782, 'CLARK', 'MANAGER', 7839, '06-09-1981', 2450, NULL, 10) VLOŽTE DO HODNOT EMP (7788, 'SCOTT', 'ANALYST', 7566, '12 1982', 3000, NULL, 20)INSERT INTO EMP VALUES (7839, 'KING', 'PRESIDENT', NULL, '17-11-1981', 5000, NULL, 10)INSERT INTO HODNOTY EMP (7844, 'SOUSTRUŽNÍK', 'PRODEJCE', 7698, '09-08-1981', 1500, 0, 30) VLOŽTE DO HODNOT EMP (7876, 'ADAMS', 'CLERK', 7788, '01- -1983', 1100, NULL, 20) VLOŽIT DO HODNOT EMP (7900, 'JAMES', 'CLERK', 7698, '12-03-1981', 950, NULL, 30) VLOŽIT DO HODNOT EMP, 7D FOR ', 'ANALYST', 7566, '12-03-1981', 3000, NULL, 20) VLOŽTE DO HODNOT EMP (7934, 'MILLER', 'CLERK', 7782, '01-23-19082', 13 , 10)

Vytvořte uloženou proceduru, která vrátí data z této tabulky. Tuto proceduru budeme volat od společnosti Oracle®.

VYTVOŘIT POSTUP NávratZaměstnanci ASBEGIN SELECT * FROM EMPEND

V SQL*Plus , použijte následující DBMS_HS_PASSTHROUGH funkce pro provedení uložené procedury a zobrazení výsledků. V příkladu sqlserverlink je název databázového odkazu, který používá DG4ODBC a ovladač Easysoft SQL Server ODBC pro připojení k SQL Serveru.

$ ./sqlplus / jako sysdbaSQL*Plus:Vydání 11.2.0.2.0 Výroba v pátek 14. října 10:03:53 2016Autorská práva (c) 1982, 2011, Oracle. Všechna práva vyhrazena.Připojeno k:Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit ProductionSQL> nastavit echo on;zapnout výstup serveru;DECLARE c INTEGER; R1 CELÉ ČÍSLO; SOUT varchar2(100); C1 INTEGER;BEGIN c :=DBMS_HS_PASSTHROUGH.OPEN_CURSOR@sqlserverlink; DBMS_HS_PASSTHROUGH.PARSE@sqlserverlink(c,'exec ReturnEmployees'); LOOP R1 :=DBMS_HS_PASSTHROUGH.FETCH_ROW@sqlserverlink (c); EXIT, KDYŽ R1 =0; DBMS_HS_PASSTHROUGH.GET_VALUE@sqlserverlink (c, 1, SOUT); DBMS_OUTPUT.PUT_LINE(SOUT); KONEC SMYČKY; DBMS_HS_PASSTHROUGH.CLOSE_CURSOR@sqlserverlink(c);VÝJIMKA, KDYŽ NENASLEDOVALA ŽÁDNÁ DATA POTOM DBMS_HS_PASSTHROUGH.CLOSE_CURSOR@sqlserverlink(c);END;/SQL>7369749975217566778970SQL870SQL8708977872747 byla úspěšně dokončena 
  1. Plánovaná údržba databáze IS 24/7 na MS SQL Server

  2. Datové modely

  3. Nové funkce SQL Server 2019

  4. Podpora pro MariaDB 10.4 v upgradovaném dbForge Studio pro MySQL, v.8.1