Uživatelská definice databázového objektu

Z Prirucky
Verze z 17. 2. 2025, 16:38, kterou vytvořil Pavelr (diskuse | příspěvky) (Napojení číselníku na číselník jiného systému)

Uživatelská definice databázového objektu bývá použita ve speciálních případech. Použití konzultujte s tvůrci programu!

Uzivatelska definice databazoveho objektu.png

Pro úpravu databáze je možné k databázovým tabulkám definovat vlastní syntaxi, která má přednost před definicí danou aplikací.
Správnost syntaxe je zcela na zodpovědnosti správce!

Editace se spouští dvojklikem na požadovaný objekt v seznamu databázových objektů v levé části okna pro úpravu databáze. Objekty, které mají vlastní definici, jsou následně v seznamu modře podbarveny.

  • tabulka
  • databázový pohled, stored procedura, db funkce, triggery - u těchto není přístupná volba Zrušení objektu. (Script pro rušení objektu není možné definovat, bude vždy použito DROP [objectname].)

Tělo rutiny musí být definováno v celém rozsahu, tedy od klíčového slova CREATE [owner].[objectname] ...

Příklad: w_prac

V seznamu objektů ve skupině Pohled najděte w_prac, poklikejte nad touto položkou myší, otevře se okno se dvěma záložkami Vytvoření objektu a Zrušení objektu . Do textového pole v záložce Vytvoření objektu vkopírujte obsah souboru w_prac.sql. Záložka Zrušení objektu je nepřístupná - netřeba tam nic plnit. Poté spusťte úpravu databáze, kontrolu zda se view provedlo, můžete provést následujícím příkazem:

select * from w_prac

Napojení číselníku na číselník jiného systému

Úpravou definice tabulky číselníku na pohled do číselníku jiné databáze lze řešit napojení číselníku na číselník jiného systému. O takovéto úpravě definice objektu z vaší strany nevíme a pokud my, jako dodavatel systému, přidáme do tabulky nový sloupec, musíte si doplnit sloupec do upravené definice, aby to nezpůsobilo nefunkčnost systému, kvůli chybějícímu sloupci. Poznámka: upřednostňujeme plnění číselníků přes KS WebAPI, ne všechny číseníky jsou ale v KS WebAPI dostupné.

Příklad pro MS SQL:

  1. Přes MS SQL Server Management Studio si vytáhneme CREATE syntax tabulky, kvůli získání seznamu sloupců a jejich typů.
  2. Do definice zadáme syntaxi pro vytvoření pohledu CREATE VIEW dbo.cis_cil AS SELECT ... FROM zdroj_DB.dbo.cis_zdroj,
  3. V části SELECT použijeme databázové funkce CAST nebo CONVERT, aby datové typy odpovídaly systému KS (POZOR: datumové položky mají typ v závislosti na rozšiřujícím parametru MSSQLDATETIME).
  4. Přes klíčové slovo "as" přejmenujeme sloupec.
  5. V cílové DB dáme databázovým uživatelům oprávnění číst ze zdrojové tabulky.
CREATE OR ALTER VIEW [dbo].[cis_cil]
AS
SELECT
	CAST(id as INT) as id,
	CAST(num as char(40)) as cislo,
	CAST(name as char(50)) as nazev,
	CAST(begdat as date) as plati_od,
	CAST(enddat as date) as plati_do   
FROM zdroj_DB.dbo.cis_zdroj

Odkazy