Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Hiermee wordt een regel uit een kolom of een aliasgegevenstype in de huidige database ontkoppeld.
Important
Deze functie wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie. We raden aan om standaarddefinities te maken door het DEFAULT trefwoord in de ALTER TABLE of-statements CREATE TABLE te gebruiken.
Transact-SQL syntaxis-conventies
Syntax
sys.sp_unbindrule
[ @objname = ] N'objname'
[ , [ @futureonly = ] 'futureonly' ]
[ ; ]
Arguments
[ @objname = ] N'objname'
De naam van de tabel en kolom of het alias-datatype waaraan de regel niet is gebonden. @objname is nvarchar(776), zonder standaard. SQL Server probeert eerst tweedelige id's om te schakelen naar kolomnamen en vervolgens naar aliasgegevenstypen. Bij het ontbinden van een regel van een aliasdatatype, zijn ook alle kolommen van het datatype met dezelfde regel onbegrensd. Kolommen van dat datatype met regels die direct aan hen gebonden zijn, blijven onaangetast.
Note
@objname kan vierkante haken bevatten als scheidingstekens [] voor id's. Zie Database-id's voor meer informatie.
[ @futureonly = ] 'alleen voor de toekomst'
Wordt alleen gebruikt bij het ontbinden van een regel van een alias-datatype.
@futureonly is varchar(15), met een standaard van NULL. Wanneer @futureonly , futureonlyverliezen bestaande kolommen van dat datatype de gespecificeerde regel niet.
Codewaarden retourneren
0 (geslaagd) of 1 (mislukt).
Remarks
Om de tekst van een regel weer te geven, voer sp_helptext je uit met de regelnaam als parameter.
Wanneer een regel niet gebonden is, wordt de informatie over de binding uit de sys.columns tabel verwijderd als de regel aan een kolom was gebonden, en uit de sys.types tabel als de regel aan een alias-datatype was gebonden.
Wanneer een regel niet meer gebonden is aan een aliasdatatype, is deze ook ontbonden aan kolommen met dat aliasdatatype. De regel kan ook nog steeds gebonden zijn aan kolommen waarvan de datatypes later zijn gewijzigd door de ALTER COLUMN-clausule van een ALTER TABLE statement; je moet de regel specifiek loskoppelen van deze kolommen door de kolomnaam te gebruiken sp_unbindrule en te specificeren.
Permissions
Om een regel uit een tabelkolom te ontbinden is ALTER-toestemming op de tabel vereist. Om een regel los te koppelen van een aliasdatatype is CONTROL-toestemming nodig voor het type of ALTER-toestemming voor het schema waartoe het type behoort.
Examples
A. Ontbind een regel uit een kolom
Het volgende voorbeeld ontbindt de regel uit de startdate kolom van een employees tabel.
EXECUTE sp_unbindrule 'employees.startdate';
B. Ontbind een regel van een alias-datatype
Het volgende voorbeeld ontbindt de regel van het aliasdatatype ssn. Het ontbindt de regel van bestaande en toekomstige kolommen van dat type.
EXECUTE sp_unbindrule ssn;
C. Gebruik futureonly_flag
Het volgende voorbeeld ontbindt de regel van het alias-datatype ssn zonder bestaande ssn kolommen te beïnvloeden.
EXECUTE sp_unbindrule 'ssn', 'futureonly';
D. Gebruik gescheiden identificaties
Het volgende voorbeeld toont het gebruik van gescheiden identificaties in de @objname-parameter . Let op het punt als onderdeel van de tabelnaam. In het sp_bindrule gedeelte bevat het object twee punten; de eerste maakt deel uit van de tabelnaam, en de tweede onderscheidt de tabelnaam van de kolomnaam.
CREATE TABLE [t.4] (c1 INT);
GO
CREATE RULE rule2 AS @value > 100;
GO
EXECUTE sp_bindrule rule2, '[t.4].c1';
GO
EXECUTE sp_unbindrule '[t.4].c1';