Per obtenir metadades del SQL Server s'han de fer consultes de les taules de sistema. Allí hi ha les descripcions de tota la BBDD. Per exemple per obtenir el nom de les taules:
SELECT name FROM sys.objects WHERE type='u' ORDER BY name
Seguint amb el tema de les stored procedures, per obtenir el nom, tipus, longituds etc... dels paràmetres de les storeds cal fer:
SELECT
SO.name AS [ObjectName],
SO.Type_Desc AS [ObjectType],
P.name AS [ParameterName],
TYPE_NAME(P.user_type_id) AS [ParameterDataType],
P.max_length AS [ParameterMaxBytes],
P.precision AS [Precision],
P.scale AS [Scale],
P.is_output AS [IsOutPutParameter]
FROM sys.objects AS SO
INNER JOIN sys.parameters AS P
ON SO.OBJECT_ID = P.OBJECT_ID
WHERE SO.TYPE ='P'
ORDER BY SO.name, P.parameter_id
Amb aquesta informació es poden fer validacions en temps d'execució... |