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

чем заменить chained на чтонить скулевское?
вот такая конструкция

IF @@trancount = 0
BEGIN
SET chained off
END
SET TRANSACTION ISOLATION LEVEL READ 1 (COMMITTED в скуле)

chained
Начинает транзакцию в начале сеанса и после завершения другой
транзакции, сразу перед первой командой, выполняющей поиск или
изменение данных. В связанном режиме транзакций сервер Adaptive
Server неявно выполняет команду begin transaction перед командами
delete, fetch, insert, open, select и update. Команду set chained нельзя
выполнять в транзакции.

------
в запросе используется таблица sysindexes, не могу найти аналог сайбесовского поля status2 в скуле.

status2 smallint Внутренняя информация о состоянии системы (см. таблицу 12-9).

Tаблица 12-9. Биты состояния в столбце status2 таблицы sysindexes 

1 0x1 Индекс поддерживает ограничение внешнего ключа.
2 0x2 Индекс поддерживает ограничение первичного ключа /
декларативное ограничение UNIQUE.
4 0x4 Индекс включает столбец IDENTITY.
8 0x8 Имя ограничения не задано.
16 0x10 Большие операции ввода-вывода (предварительная выборка)
не разрешены для таблицы, индекса или текстовой цепочки.
32 0x20 Стратегия кэширования, основанная на MRU (последний по
времени использования элемент), не разрешена для таблицы,
индекса или текстовой цепочки.
64 0x40 Для таблицы включен режим возрастающих вставок.
256 0x0100 Индекс предварительно отсортирован и не должен
копироваться в новые экстенты.
512 0x0200 Таблица с блокировкой только данных, имеющая
кластерный индекс.
8192 0x2000 Индекс для таблицы с блокировкой только данных является
подозрительным
14 окт 04, 17:59    [1035044]     Ответить | Цитировать Сообщить модератору
 Re: подскажите аналог MSSQL 2000  [new]
Glory
Member

Откуда:
Сообщений: 104760
неявно выполняет команду begin transaction перед командами
delete, fetch, insert, open, select и update. Команду set chained нельзя
выполнять в транзакции.

SET IMPLICIT_TRANSACTIONS ON

When a connection is in implicit transaction mode and the connection is not currently in a transaction, executing any of the following statements starts a transaction:

ALTER TABLE FETCH REVOKE
CREATE GRANT SELECT
DELETE INSERT TRUNCATE TABLE
DROP OPEN UPDATE

в запросе используется таблица sysindexes, не могу найти аналог сайбесовского поля status2 в скуле.
1, 2 и 4 еще можно получить из метаданных. Отсальные боюсь что нет
14 окт 04, 18:10    [1035091]     Ответить | Цитировать Сообщить модератору
 Re: подскажите аналог MSSQL 2000  [new]
jkl
Guest
спасибо
14 окт 04, 18:36    [1035204]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить