MSSQL: Отключите триггеры для, каждый ВСТАВЛЯЕТ

Вы можете вызвать overridePendingTransition после startActivity (), чтобы изменить запуск анимации новой активности.

попробуйте эту строку кода

slide_to_left.xml

<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0" android:toXDelta="-100%p"
           android:interpolator="@android:anim/accelerate_decelerate_interpolator"
           android:duration="@integer/slide_animation_duration"/>

slide_to_right [1112 ]

<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0" android:toXDelta="100%p"
           android:interpolator="@android:anim/accelerate_decelerate_interpolator"
           android:duration="@integer/slide_animation_duration"/>

MainActivity.java

startActivity (намерение); overridePendingTransition (R.anim.slide_from_right, R.anim.slide_to_left);

16
задан Community 23 May 2017 в 10:29
поделиться

6 ответов

Можно отключить, включает использование таблицы:

ALTER TABLE MyTable DISABLE TRIGGER ALL

, Но это сделало бы это для всех сессий, не только Вашего текущего соединения.. который является, очевидно, очень плохой вещью сделать :-)

, лучший способ состоял бы в том, чтобы изменить сам триггер, таким образом, это принимает решение, если это должно работать, вставляет ли это быть с "тип" флаг на таблице или некоторых других средствах, если Вы уже храните какой-то тип.

11
ответ дан 30 November 2019 в 16:42
поделиться

Можно найти это полезным:

Отключение Триггера для Определенного SQL-оператора или Сессии

, Но существует другая проблема, с которой можно столкнуться также. Если я понимаю ситуацию, Вы находитесь в правильно, Ваша система по умолчанию вставляет код продукта автоматически (путем генерации значения). Теперь необходимо вставить продукт, который был создан некоторой системой подготовки, и для того продукта ее код продукта был создан системой подготовки, и Вы хотите вставить его в живую систему вручную.

, Если действительно необходимо сделать это, необходимо удостовериться, что коды, сгенерированные Вами, работающее приложение в будущем не собирается конфликтовать с кодом, который Вы ввели вручную - я принимаю их заплесневелый быть уникальным.

Другой подход должен позволить системе генерировать новый код и перезаписывать любые соответствующие данные в случае необходимости.

16
ответ дан 30 November 2019 в 16:42
поделиться

Вместо того, чтобы отключить триггеры может Вы не изменять поведение триггера. Добавьте новый nullable столбец к рассматриваемой таблице, названной "insertedFromImport".

В триггере изменяют код так, чтобы незаконный бит триггера только работал на строках, где "insertedFromImport" является пустым. Когда Вы вставляете свой "insertedFromImport" набора записей во что-то непустое.

5
ответ дан 30 November 2019 в 16:42
поделиться

Можно ли проверить на SUSER_SNAME () и только работать ли когда в контексте администрирования frontend?

1
ответ дан 30 November 2019 в 16:42
поделиться

Я вижу много вещей, которые могли создать проблему. Сначала измените триггер для рассмотрения нескольких рекордного импорта. Это может, вероятно, решить Вашу проблему. Не выключайте триггер, как он выключен для всех не просто Вы. Если необходимо затем поместить базу данных в непривилегированный режим отдельного пользователя, прежде чем Вы сделаете это и сделаете Вашу задачу во время от часов.

Затем, ни при каких обстоятельствах когда-либо используют @@ идентификационные данные для вставления значения просто! ИСПОЛЬЗУЙТЕ scope_identity вместо этого. @@ идентификационные данные возвратят неправильное значение, если будет, включает таблицу, которые также делают вставляет в другие таблицы с полями идентификационных данных. Если Вы используете @@ идентификационные данные прямо сейчас через Вашу систему (так как мы знаем, что Ваша система имеет триггеры), Ваша abosolute первоочередная задача должна быть, чтобы сразу найти и изменить все экземпляры @@ идентификационные данные в Вашем коде. У Вас могут быть серьезные проблемы целостности данных, если Вы не делаете. Это - "остановка вся работа, пока это не фиксируется" вид проблемы.

До получения информации Вы просто вставили назад, рассмотрите создание batchid, поскольку часть Вас вставляет и затем добавление столбца, названного batchid (который nullable, таким образом, это не будет влиять на другие вставки) к таблице. Затем можно перезвонить то, что Вы вставили batchid.

1
ответ дан 30 November 2019 в 16:42
поделиться

Если вы вставляете, используя BULK INSERT, вы можете отключить триггеры только для вставки.

Я уверен, что для массовой вставки потребуется импорт файла данных в файловой системе, поэтому вы не можете просто использовать T-SQL.

Для использования BULK INSERT вам необходимы разрешения INSERT и ADMINISTRATOR BULK OPERATION. Если вы отключите триггеры или ограничения, вам также потребуется разрешение ALTER TABLE.

Если вы используете проверку подлинности Windows, вашему пользователю Windows потребуется доступ на чтение из файла. при использовании аутентификации в смешанном режиме учетной записи службы сервера SQl необходим доступ на чтение из файла.

При импорте с использованием BULK IMPORT триггеры по умолчанию отключены.

Дополнительная информация: http://msdn.microsoft.com/en-us/library/ms188365.aspx

.
0
ответ дан 30 November 2019 в 16:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: