Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Uložené procedury je možné vystavit jako koncové body REST nebo GraphQL v JAZYCE DAB. To je užitečné pro scénáře, které zahrnují vlastní logiku, filtrování, ověření nebo vypočítané výsledky, které nezpracovává jednoduché tabulky nebo zobrazení.
Konfigurace
Zpřístupnění uložené procedury:
- Nastavte
source.typena hodnotu"stored-procedure". - Nastavit
source.objectna plně kvalifikovaný název procedury - V případě potřeby definujte volitelné
parameterss jejich výchozími nastaveními. - Nastavit
rest.methods(například ,"GET""POST") neborest: false -
graphql.operationNastavit"query"na hodnotu nebo"mutation"nebo vynechat výchozí hodnotu"mutation" - Udělení oprávnění pomocí
"execute"akce
Příklad rozhraní příkazového řádku
dab add GetCowrittenBooksByAuthor \
--source dbo.stp_get_all_cowritten_books_by_author \
--source.type "stored-procedure" \
--source.params "searchType:default-value" \
--permissions "anonymous:execute" \
--rest.methods "get" \
--graphql.operation "query"
Příklad konfigurace
"GetCowrittenBooksByAuthor": {
"source": {
"type": "stored-procedure",
"object": "dbo.stp_get_all_cowritten_books_by_author",
"parameters": {
"searchType": "default-value"
}
},
"rest": {
"methods": [ "GET" ]
},
"graphql": {
"operation": "query"
},
"permissions": [
{
"role": "anonymous",
"actions": [ "execute" ]
}
]
}
Podpora REST
- Podporuje pouze
GETaPOST - Ve výchozím nastavení se použije
POST, pokud jemethodsvynechána. - Odešle parametry přes řetězec dotazu s
GET. - Odesílá parametry prostřednictvím textu JSON pomocí
POST - Zakáže REST pro uloženou proceduru, pokud
"rest": falseje nastavená.
Příklady požadavků
GET /api/GetCowrittenBooksByAuthor?author=asimov
POST /api/GetCowrittenBooksByAuthor
{
"author": "asimov"
}
Podpora GraphQL
- Vyžaduje
graphql.operation, aby byl"query"nebo"mutation" - Pole jsou automaticky předvoleny s předponou
execute, napříkladexecuteGetCowrittenBooksByAuthor - Parametry se předávají jako argumenty GraphQL.
Příklad GraphQL
query {
executeGetCowrittenBooksByAuthor(author: "asimov") {
id
title
}
}
Omezení
- Vrátí se pouze první sada výsledků .
- Stránkování, filtrování a řazení se nepodporuje.
- Vztahy nejsou podporovány.
- Vyžaduje metadata z
sys.dm_exec_describe_first_result_set - Nelze vrátit jedinou položku podle klíče
- Bez autorizace na úrovni parametrů