Руководство по языку sql
Download 1.22 Mb. Pdf ko'rish
|
Firebird3 SQL features
- Bu sahifa navigatsiya:
- SELECT * FROM ( SELECT * FROM T1 ORDER BY COL1 DESC OFFSET 1 ROW FETCH NEXT 10 ROWS ONLY
- Поддержка предложения DELETE
- DELETE FROM
- MERGE INTO
- Поддержка множества предложений WHEN MATCHED | WHEN NOT MATCHED с дополнительными условиями
FROM T1
ORDER BY COL1 FETCH FIRST 10 ROWS ONLY 3. Использование предложений OFFSET и FETCH в производной таблице, результат которой ограничивается ещѐ раз во внешнем запросе. SELECT * FROM ( SELECT * FROM T1 ORDER BY COL1 DESC OFFSET 1 ROW FETCH NEXT 10 ROWS ONLY ) a ORDER BY a.COL1 FETCH FIRST ROW ONLY Дополнительные возможности оператора MERGE Доступно: DSQL, PSQL. Оператор MERGE дополнен новыми возможностями из стандарта SQL-2008. В Firebird 3 добавлены следующие возможности: Поддержка предложения DELETE Поддержка множества предложений WHEN MATCHED | WHEN NOT MATCHED с дополнительными условиями Поддержка предложения RETURNING … INTO Синтаксис: MERGE INTO USING [AS source_alias] ON Новые возможности языка SQL Firebird 3.0 16 [RETURNING [INTO WHEN MATCHED [ AND { UPDATE SET WHEN NOT MATCHED [ AND INSERT [ ( VALUES ( ::= Таблица, представление, хранимая процедура или производная таблица Поддержка предложения DELETE В Firebird 3 в предложениях WHEN MATCHED разрешено не только обновлять записи целевой таблицы (обновляемого представления), но и удалять их, если вместо предложения UPDATE указано предложение DELETE. Примеры: Следующий запрос DELETE FROM SALARY_HISTORY WHERE EMP_NO IN (SELECT EMP_NO FROM EMPLOYEE WHERE DEPT_NO = 120) можно изменить на эквивалентный ему запрос с использованием оператора MERGE . В ряде случаев его выполнение может быть более эффективным. MERGE INTO SALARY_HISTORY USING (SELECT EMP_NO Новые возможности языка SQL Firebird 3.0 17 FROM EMPLOYEE WHERE DEPT_NO = 120) EMP ON SALARY_HISTORY.EMP_NO = EMP.EMP_NO WHEN MATCHED THEN DELETE Поддержка множества предложений WHEN MATCHED | WHEN NOT MATCHED с дополнительными условиями В Firebird 3 разрешено указывать несколько предложений WHEN MATCHED и WHEN NOT MATCHED. Предложения WHEN проверяются в указанном порядке. Если условие в предложении WHEN не выполняется, то мы пропускаем его и переходим к следующему предложению. Так будет происходить до тех пор, пока условие для одного из предложений WHEN не будет выполнено. В этом случае выполняется действие, связанное с предложением WHEN, и осуществляется переход на следующую строку источника. Для каждой строки источника выполняется только одно действие. Примеры: В следующем примере происходит ежедневное обновление таблицы PRODUCT_IVENTORY на основе заказов, обработанных в таблице SALES_ORDER_LINE. Если количество заказов на продукт таково, что уровень запасов продукта опускается до нуля или становится еще ниже, то строка этого продукта удаляется из таблицы PRODUCT_IVENTORY. Download 1.22 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling