Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 как изменить правило (rules) в базе  [new]
botrandir
Member

Откуда:
Сообщений: 29
Добрый день. Есть база в этой базе в разделе programmability , есть раздел Rules , в нем есть правило

автор
[dbo].[rule_credit_limit]
AS
@value>=0 AND @value<=9


Вот мне этот параметр value нужно сделать больше. Я никогда не запаривался с этими правилами. Нашел на английском такое описание:
You'll need to recreate the rule, which requires that you unbind, drop,
create and bind again. See sample script at the end of this post.

и пример. Но я его не понял.
автор
USE tempdb
GO

EXEC sp_addtype 'mytype', 'int'
GO

CREATE RULE RUL_mytype AS (@mytype 0)
GO

EXEC sp_bindrule 'RUL_mytype', 'mytype'
GO

CREATE TABLE dbo.MyTable
(
col1 mytype NOT NULL
)
GO

INSERT INTO dbo.MyTable VALUES(1)
INSERT INTO dbo.MyTable VALUES(-1)
GO

EXEC sp_unbindrule 'mytype', 'RUL_mytype'
GO

DROP RULE RUL_mytype
GO

CREATE RULE RUL_mytype AS (@mytype < 0)
GO

EXEC sp_bindrule 'RUL_mytype', 'mytype'
GO


получается мне что в этом скрипте, нужно прописать все зависимости? Если ли какой то иной путь, изменить правило. Или подскажите.
28 мар 12, 12:30    [12326231]     Ответить | Цитировать Сообщить модератору
 Re: как изменить правило (rules) в базе  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
jfyi:
sp_bindrule ( ms-help://MS.SQLCC.v10/MS.SQLSVR.v10.en/s10de_6tsql/html/2606073e-c52f-498d-a923-5026b9d97e67.htm )
This feature will be removed in a future version of Microsoft SQL Server. Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible. Use CHECK constraints instead. CHECK constraints are created by using the CHECK keyword of the CREATE TABLE or ALTER TABLE statements.
28 мар 12, 12:33    [12326272]     Ответить | Цитировать Сообщить модератору
 Re: как изменить правило (rules) в базе  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
botrandir,

вообще-то, отказывать надо от объектов RULE, DEFAULT и т.п.
Обещают их запретить в следующих версиях.
Советуют применять CONSTRAINTы, хоть это далеко не то же самое.

По существу: не помню точно, но придётся-таки всё прописать ручками.
Или сформировать динамический скрипт на основе метаданных.
Готового предложить, однако, не могу.
28 мар 12, 12:36    [12326298]     Ответить | Цитировать Сообщить модератору
 Re: как изменить правило (rules) в базе  [new]
botrandir
Member

Откуда:
Сообщений: 29
iap,
база старая, не я ее делал. используем MSSQL 2005 . Я не спец в MSSQL , скорее так любитель. Просто сейчас нет такого человека, пробую методом научного тыка.
28 мар 12, 12:39    [12326333]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить