Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Mengembalikan Parameter Prosedur Tersimpan atau Fungsi Buatan Pengguna di SQL Server (Contoh T-SQL)

Di SQL Server, Anda dapat menggunakan PARAMETERS Transact-SQL tampilan skema informasi sistem untuk menemukan parameter yang digunakan dalam prosedur tersimpan atau fungsi yang ditentukan pengguna.

Lebih khusus lagi, ini mengembalikan satu baris untuk setiap parameter fungsi yang ditentukan pengguna atau prosedur tersimpan yang dapat diakses oleh pengguna saat ini dalam database saat ini.

Untuk menggunakan tampilan ini, tentukan nama lengkap INFORMATION_SCHEMA.PARAMETERS .

Contoh 1 – Penggunaan Dasar

Berikut adalah contoh pengembalian informasi tentang parameter yang digunakan di semua prosedur tersimpan dan fungsi yang ditentukan pengguna dalam database saat ini yang dapat diakses oleh pengguna saat ini.

SELECT 
  SPECIFIC_CATALOG AS [Database],
  SPECIFIC_SCHEMA AS [Schema],
  SPECIFIC_NAME AS [Table],
  PARAMETER_MODE AS [Mode],
  IS_RESULT,
  PARAMETER_NAME,
  DATA_TYPE
FROM INFORMATION_SCHEMA.PARAMETERS;

Hasil:

+------------+----------+----------------------+--------+-------------+------------------+-------------+
| Database   | Schema   | Table                | Mode   | IS_RESULT   | PARAMETER_NAME   | DATA_TYPE   |
|------------+----------+----------------------+--------+-------------+------------------+-------------|
| Music      | dbo      | ISOweek              | OUT    | YES         |                  | int         |
| Music      | dbo      | ISOweek              | IN     | NO          | @DATE            | datetime    |
| Music      | dbo      | ufn_AlbumsByGenre    | IN     | NO          | @GenreId         | int         |
| Music      | dbo      | spAlbumsFromArtist   | IN     | NO          | @ArtistName      | varchar     |
| Music      | dbo      | uspGetAlbumsByArtist | IN     | NO          | @ArtistId        | int         |
+------------+----------+----------------------+--------+-------------+------------------+-------------+

Dalam contoh ini saya memilih untuk mengembalikan hanya tujuh kolom dari tampilan. Contoh berikut menampilkan semua kolom.

Contoh 2 – Kembalikan Semua Kolom

Dalam contoh ini saya menyertakan semua kolom yang dikembalikan oleh tampilan. Saya juga menggunakan output vertikal sehingga Anda tidak dipaksa untuk menggulir secara horizontal. Juga, demi singkatnya, saya menggunakan WHERE klausa untuk mengembalikan informasi tentang hanya satu fungsi yang ditentukan pengguna yang menggunakan satu parameter (oleh karena itu hanya satu baris yang dikembalikan).

SELECT * 
FROM INFORMATION_SCHEMA.PARAMETERS
WHERE SPECIFIC_NAME = 'ufn_AlbumsByGenre';

Hasil (menggunakan keluaran vertikal):

SPECIFIC_CATALOG          | Music
SPECIFIC_SCHEMA           | dbo
SPECIFIC_NAME             | ufn_AlbumsByGenre
ORDINAL_POSITION          | 1
PARAMETER_MODE            | IN
IS_RESULT                 | NO
AS_LOCATOR                | NO
PARAMETER_NAME            | @GenreId
DATA_TYPE                 | int
CHARACTER_MAXIMUM_LENGTH  | NULL
CHARACTER_OCTET_LENGTH    | NULL
COLLATION_CATALOG         | NULL
COLLATION_SCHEMA          | NULL
COLLATION_NAME            | NULL
CHARACTER_SET_CATALOG     | NULL
CHARACTER_SET_SCHEMA      | NULL
CHARACTER_SET_NAME        | NULL
NUMERIC_PRECISION         | 10
NUMERIC_PRECISION_RADIX   | 10
NUMERIC_SCALE             | 0
DATETIME_PRECISION        | NULL
INTERVAL_TYPE             | NULL
INTERVAL_PRECISION        | NULL
USER_DEFINED_TYPE_CATALOG | NULL
USER_DEFINED_TYPE_SCHEMA  | NULL
USER_DEFINED_TYPE_NAME    | NULL
SCOPE_CATALOG             | NULL
SCOPE_SCHEMA              | NULL
SCOPE_NAME                | NULL

Lihat dokumentasi Microsoft untuk informasi tentang setiap kolom yang ditampilkan oleh tampilan ini.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Melewati Daftar<> ke SQL Stored Procedure

  2. Pos Pemeriksaan Basis Data di SQL Server

  3. SYSDATETIME() Contoh di SQL Server (T-SQL)

  4. Perbarui Akun Email Basis Data (SSMS)

  5. Pemeriksaan Kesehatan SQL Server Proaktif, Bagian 3:Pengaturan Instans dan Basis Data