Advanced Queries

Lấy dữ liệu chính xác từ cơ sở dữ liệu thường có thể rất phức tạp. Không thể dùng các Action bình thường được.
Có nhiều tùy chọn nâng cao có sẵn trong Aggregates:

  • Multiple Sources
  • Calculated attributes
  • Aggregated functions
    Cũng có thể viết SQL statements: có SQL Tool

Aggregates

Multiple Sources

  • Có thể có nhiều Sources trong một Aggregates
    Khi Entitiesrelationships, OutSystems tự động tạo ra Joins

Joins

Aggregates Hỗ trợ ba loại Joins

  • Only With :: (SQL INNER JOIN)
  • With or Without :: (SQL LEFT JOIN)
  • With :: (SQL FULL OUTER JOIN)

Calculated Attributes

  • Custom attributes tính toán từ attributeskhác :: trong cùng một truy vấn (Aggregates)
  • Trở thành một phần đầu ra của truy vấn

Hiding Columns

  • Ẩn được các phần tử của câu truy vấn, Không làm ảnh hưởng đến kết quả đầu ra
  • Vẫn là một phần của output, tuy nhiện bị ẩn đi khi ra giao diện

Aggregating Records (Group by)

Group multiple rows together (Group by Orders to find # of Products per Order)

  • Right click => Group by …
  • Hỗ trợ Filter Group (HAVING trong SQL)
  • Hỗ trợ các functions: Sum, Average, Min, Max, Count

SQL Tool

Overview

Cho phép viết SQL statements

  • Inputs và outputs được chỉ định một các trực quan
  • Câu lệnh SQL được viết bằng tay:
    • SQL syntax checking
    • Color highlighting
    • SQL is DBMS-specific
  • Sử dụng abstract namesEntitiesAttributes
    • Gọi Entity bằng cách {Entity}
    • Gọi Attribute bằng cách {Entity}.[Attribute]
    • Gọi Variable bằng cách @NameVariable

Input / Outputs

  • Thông qua Parameters truyền thông tin cho Query SQL

Outputs

  • Output Entities / Structures là đầu ra của Excuted SQL
  • Mandatory phải có ít nhất một
    • Cần phải map vowis columns bên trong SELECT clause
    • Co thể sử dụng Structures(gọi là dummy output) và Entities (Cần tự định nghĩa tại Tab Data)
    • Output giống như một Aggregates => (List, Count)

Testing Queries

  • Chỉ để test không ảnh hưởng đến kết quả Output
  • Truyền các Input paramater để thực hiện test mà không cần Publish (NGON😂)

Non-Select Queries

SQL Tools cũng có thể được sử dụng cho non-SELECT các câu lệnh:

  • Delete
  • Insert
  • Update

Cần chọn Output, và việc này không có ý nghĩa. Bởi vì nó sẽ chẳng Return về 1 Output nào cả. Chọn cho vui, và nó được gọi là “dummy”


HẾT.

@Copyright 2022 by HieuEM Github