Изменение триггера в Sql Server 2005

Мне нужно изменить триггер в sql server 2005, и я хочу сделать это с помощью адаптера таблицы и оператора sql, а не хранимой процедуры. Я знаю, что могу запустить это в браузере запросов и выполнить, но мне нужно развернуть его в нескольких базах данных и использовать адаптер таблицы в обновлении. Это возможно?

Выполнение Add Query -> Update -> вставка приведенного ниже кода -> Query Builder, чтобы увидеть, анализирует ли он

print("USE [DataBaseName]
GO
/****** Object:  Trigger [dbo].[UpdateCurrentAddress]    Script Date: 10/30/2008 14:47:15 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[UpdateCurrentAddress] ON [dbo].[PreviousAddresses] 
FOR INSERT, UPDATE, DELETE
AS
-- Check to see if there was an insert/update or a deletion.
IF (SELECT COUNT(*) FROM inserted) >= 1
BEGIN
    IF (SELECT CountryID FROM inserted) <> 181

...moar...");

ошибка... SQL-конструкция или инструкция USE [DataBaseName] не поддерживается.

и если я удалю верхнюю часть и начну с ALTER TRIGGER

SQL-конструкция или оператор ALTER TRIGGER не поддерживается.

Я все еще новичок в этом и не удивлюсь, что либо я делаю это неправильно, и / или невозможно обойтись без сохраненной процедуры.

Обновлено: Да, я делаю это на C#.

благодаря. Я могу сделать это таким образом, начиная с ALTER TRIGGER, это выполнит свою работу.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
2 167
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

TableAdapter ожидает набор результатов, а не фактический запрос. Чтобы сделать это успешно, вам нужно будет использовать объект SqlCommand для фактического выполнения вашего обновления.

Если вы не использовали его до того, как это будет довольно просто, сначала вы объявляете свое соединение, а затем вы создаете свою команду, используя соединение. После создания команды установите текст команды, равный вашему сценарию, а затем вы можете вызвать метод ExecuteNonQuery () для запуска сценария после открытия соединения. Если вы скажете, какой язык вы используете, я могу попытаться привести пример.

Редактировать

Вот пример C#, быстрый и грязный, но он дает понять. ПРИМЕЧАНИЕ, сделано по памяти, но должно быть правильно.

using(SqlConnection oConnection = new SqlConnection("Yourconnectionhere"))
using(SqlCommand oCommand = new SqlCommand(oConnection))
{
    //Configure the command object
    oCommand.CommandText = "Your script here";

    //Open connectin and run script
    oConnection.Open();
    oCommand.ExecuteNonQuery();
    oConnection.Close();
}

Другие вопросы по теме