SQL стандарт в СУБД MS SQL SERVER, ORACLE, VFP И ACCESS: манипулирование данными. Семенова И.И. - 33 стр.

UptoLike

Составители: 

32
в MS SQL Server:
Declare TEMP1 CURSOR FOR SELECT Name, Lastname, Surname,
Sum_pay, Pay_Day FROM Staff, Pay WHERE (Staff.T_number =
Pay.T_number) AND Surname = 'Алеев' AND Name = 'Павел'
в Oracle (с примером построчного вывода данных из курсора):
SET SERVEROUTPUT ON
DECLARE
Name1 ADMIN_PAY.Staff.Name%TYPE;
Lastname1 ADMIN_PAY.Staff.Lastname%TYPE;
Surname1 ADMIN_PAY.Staff.Surname%TYPE;
Sum_pay1 ADMIN_PAY.Pay.Sum_pay%TYPE;
Pay_Day1 ADMIN_PAY.Pay.Pay_Day%TYPE;
CURSOR TEMP1 IS SELECT Name, Lastname, Surname, Sum_pay,
Pay_Day FROM ADMIN_PAY.Staff, ADMIN_PAY.Pay WHERE
(Staff.T_number = Pay.T_number) AND Surname = 'Алеев' AND Name =
'Павел';
BEGIN
OPEN TEMP1;
WHILE TEMP1%found LOOP
FETCH TEMP1 INTO Name1, Lastname1, Surname1, Sum_pay1,
Pay_Day1;
DBMS_OUTPUT.PUT_LINE(Name1||' '|| Lastname1||' '||Surname1||' '||
Sum_pay1||' '|| Pay_Day1);
END LOOP;
CLOSE TEMP1;
END;
Для того чтобы использовать результаты запроса в дальнейшем
коде программы, необходимо запрос сохранить либо на диске в
таблице (ключевая фраза INTO DBF или INTO TABLE) с заданным
названием, либо во временной таблице, которая сохраняется только на
период работы программы или в рамках сессии.
INTO CURSOR – поместить результат запроса во временную
таблицу с указанным названием (в примере Temp1),
которая будет
удалена из памяти по окончании работы программы.
48. Вывести все сведения о сотрудниках с табельными номерами 12–54
и поместить результат во временную таблицу с названием Temp2 (рис. 17):
в VFP:
SELECT * FROM Staff INTO CURSOR Temp2 WHERE T_number
BETWEEN 12 AND 54