ich folgendes Skript bin mit einer Check-Bedingung zu erstellen, wenn es nicht existiert:Wie erhält man minimale und maximale Werte einer Check-Bedingung mit TSQL?
if not exists (select * from dbo.sysobjects where id= object_id(N'[APA].[CK_APALog_APALogType_Range]') and OBJECTPROPERTY(id,N'IsConstraint')=1)
ALTER TABLE [APA].[APALog] ADD CONSTRAINT CK_APALog_APALogType_Range CHECK (APALogType >=1 AND APALogType <=3)
go
und mit der folgenden Abfrage einiger Informationen, die ich über die Einschränkung muß retreiveing:
select constraintsColumns.COLUMN_NAME ,tableConstraints.CONSTRAINT_NAME ,tableConstraints.CONSTRAINT_TYPE ,tableConstraints.TABLE_NAME
from information_schema.TABLE_CONSTRAINTS tableConstraints
join information_schema.CONSTRAINT_COLUMN_USAGE constraintsColumns
on tableConstraints.TABLE_NAME=constraintsColumns.TABLE_NAME
and tableConstraints.CONSTRAINT_NAME =constraintsColumns.CONSTRAINT_NAME
where tableConstraints.CONSTRAINT_TYPE in ('CHECK') and constraintsColumns.COLUMN_NAME='APALogType'
, was ich kann nicht erreichen ist minimum
und maximum
retreive, die ich in der Constraint-Erstellung angegeben habe.
Können diese Werte mit TSQL
abgerufen werden?
Ich denke, Sie müssten die Constraint-Definition analysieren. SQL Server kennt keine Mindest- und Höchstwerte. –
@Gordon Linoff Wie konnte der Ausdruck in tsql dann abgerufen und geparst werden? – Karamafrooz