sql >> Databáze >  >> RDS >> Database

Najít sloupce vrácené funkcí s hodnotou tabulky (příklady T-SQL)

Na serveru SQL Server můžete použít ROUTINE_COLUMNS Transact-SQL zobrazení schématu systémových informací k nalezení sloupců vrácených funkcí s hodnotou tabulky.

Přesněji řečeno, vrací jeden řádek pro každý sloupec vrácený funkcemi s hodnotou tabulky, ke kterým má aktuální uživatel v aktuální databázi přístup.

Chcete-li použít toto zobrazení, zadejte plně kvalifikovaný název INFORMATION_SCHEMA.ROUTINE_COLUMNS .

Příklad 1 – Základní použití

Zde je příklad.

VYBERTE TABLE_CATALOG JAKO [Databáze], TABLE_SCHEMA JAKO [Schéma], TABLE_NAME JAKO [Funkce], COLUMN_NAME JAKO [Sloupec], DATA_TYPE JAKO [Typ dat], CHARACTER_MAXIMUM_LENGTH JAKO [Maximální délka znaku] FROM INFORMATION_SCHEUMNS 

Výsledek:

+------------+----------+-------------------+-- ----------+-------------+-------------------+| Databáze | Schéma | Funkce | Sloupec | Typ dat | Maximální délka znaku ||------------+----------+-------------------+- -----------+-------------+-------------------|| Hudba | dbo | ufn_AlbumsByGenre | Jméno umělce | nvarchar | 255 || Hudba | dbo | ufn_AlbumsByGenre | Název alba | nvarchar | 255 || Hudba | dbo | ufn_AlbumsByGenre | Žánr | nvarchar | 50 |+------------+----------+-------------------+--- ---------+-------------+-------------------+

Tyto výsledky mi ukazují, že existuje pouze jedna funkce s tabulkovou hodnotou, ke které mám v databázi přístup, a ta vrací tři sloupce.

V tomto příkladu jsem se rozhodl vrátit pouze šest sloupců z pohledu. Následující příklad zobrazuje všechny sloupce vrácené zobrazením.

Příklad 2 – Vrácení všech sloupců z pohledu

V tomto příkladu zahrnu všechny sloupce, které zobrazení vrátí. Používám také vertikální výstup, abyste nebyli nuceni posouvat horizontálně. Kvůli stručnosti také uvádím, že zobrazení má vracet informace pouze o jednom sloupci (vrátí se tedy pouze jeden řádek).

SELECT * FROM INFORMATION_SCHEMA.ROUTINE_COLUMNSWHERE TABLE_NAME ='ufn_AlbumsByGenre'AND COLUMN_NAME ='ArtistName';

Výsledek (při použití vertikálního výstupu):

TABLE_CATALOG | MusicTABLE_SCHEMA | dboTABLE_NAME | ufn_AlbumsByGenreCOLUMN_NAME | Jméno umělceORDINAL_POSITION | 1COLUMN_DEFAULT | NULLIS_NULLABLE | NODATA_TYPE | nvarcharCHARACTER_MAXIMUM_LENGTH | 255CHARACTER_OCTET_LENGTH | 510NUMERIC_PRECISION | NULLNUMERIC_PRECISION_RADIX | NULLNUMERIC_SCALE | NULLDATETIME_PRECISION | NULLCHARACTER_SET_CATALOG | NULLCHARACTER_SET_SCHEMA | NULLCHARACTER_SET_NAME | UNICODECOLLATION_KATALOG | NULLCOLLATION_SCHÉMA | NULLCOLLATION_NAME | SQL_Latin1_General_CP1_CI_ASDOMAIN_CATALOG | NULLDOMAIN_SCHÉMA | NULLDOMAIN_NAME | NULL

Informace o každém sloupci vráceném tímto zobrazením naleznete v dokumentaci společnosti Microsoft.


  1. jak zkopírovat data ze souboru do PostgreSQL pomocí JDBC?

  2. Vícenásobné vložení SQL Oracle

  3. Nějaký dopad na výkon v Oracle při použití LIKE 'string' vs ='string'?

  4. Rozdíl mezi schématem / databází v MySQL