set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go CREATE FUNCTION [dbo].[AlanlariGetir] ( @TabloAdi nvarchar(100) ) RETURNS @Results TABLE (adi nvarchar(255),tip nvarchar(50),uzunluk int) AS BEGIN INSERT INTO @Results ( adi, tip, uzunluk ) SELECT c.name AS adi,type_name(c.xusertype) AS tip,c.length AS uzunluk FROM syscolumns c LEFT JOIN (sysobjects o INNER JOIN syscomments co ON o.id = co.id) ON c.cdefault = o.id LEFT JOIN (sysobjects o2 INNER JOIN syscomments co2 ON o2.id = co2.id) ON c.domain = o2.id WHERE c.id = OBJECT_ID(@TabloAdi) ORDER BY c.colid; return END
Kullanımı :
SELECT * FROM [dbo].[AlanlariGetir]('Meslekler')
Sonuç :adi tip uzunluk---------------- --------------------- -----------
meslekid int 4
meslekadi nvarchar 300
(2 row(s) affected)