我在表Surname
,FirstName
,MiddleName
, CurrAddress
中有四列。有沒有一種方法可以使用數組動態地存儲列名並獲取每列的最大長度?舉例來說,在四個字段中,我只需要最大長度爲Surname
和FirstName
。我的下面的代碼將只顯示每個事務一列。任何幫助是極大的讚賞。謝謝!使用數組獲取SQL Server列的最大長度
ALTER PROCEDURE [dbo].[sp_getColumnLength]
@colval nvarchar(50),
@tblval nvarchar(50)
AS
BEGIN
SELECT
character_maximum_length as 'Max Length'
FROM
information_schema.columns
WHERE
column_name = @colval
AND table_name = @tblval
END
GO
如果您使用'column_name = @ colval'過濾,那麼它將爲每個事務返回一列。你真的想獲得表格的最大長度字段嗎? – Arulkumar
備註:您應該**不要**爲存儲過程使用'sp_'前綴。微軟已經保留了這個前綴以供自己使用(參見*命名存儲過程*)](http://msdn.microsoft.com/en-us/library/ms190669%28v=sql.105%29.aspx),以及你將來有可能冒着名字衝突的風險。 [這對你的存儲過程性能也是不利的](http://www.sqlperformance.com/2012/10/t-sql-queries/sp_prefix)。最好只是簡單地避免使用'sp_'並使用別的東西作爲前綴 - 或者根本沒有前綴! –