Показано с 1 по 10 из 17

Тема: SQL-запрос

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #7

    По умолчанию

    Цитата Сообщение от imaex Посмотреть сообщение
    В SQL нет никаких "declare". И быть не может, поскольку это не процедурный язык.
    Ничего не понял...
    Код:
    IF EXISTS (SELECT TOP (1) * FROM [RSnew].[dbo].[DBData] WHERE ([StatusStop] = 0))
    BEGIN
    UPDATE [RSnew].[dbo].[DBData]
    SET [DateTimeStart] = GETDATE(), [DateTimeStop] = GETDATE(), [StatusStart] = 1
    WHERE [StatusStop] = 0
    END
    ELSE IF NOT EXISTS (SELECT TOP (1) * FROM [RSnew].[dbo].[DBData] WHERE ([StatusStart] = 1) and ([StatusStop] = 0))
    BEGIN
    declare
    	@String1 varchar(30),
    	@String2 varchar(30),
    	@String3 varchar(30),
    	@String4 varchar(30)
    select
    	@String1 = [String1],
    	@String2 = [String2],
    	@String3 = [String3],
    	@String4 = [String4]
    from
    	[RSnew].[dbo].[DBInfo]
    INSERT INTO [RSnew].[dbo].[DBData] ([DateTimeStart], [DateTimeStop], [StatusStart], [StatusStop], [String1], [String2], [String3], [String4])
    VALUES (GETDATE(), GETDATE(),  1,  0, @String1, @String2, @String3, @String4)
    END
    Я конечно не спец, но вот пример sql запросов которые я использую.
    И как я помню я похожее вводил в MS4D и все работало пол года назад... Только для переменных там свои особенности были.

    PS Вот из документации:
    Код:
    Синтаксис запросов для работы с базами данных
    Есть два способа вставки данных в запрос:
    •текст запроса {ИмяКанала} текст запроса..
    •текст запроса {$ИмяКанала} текст запроса..
    {CH} Данные и запрос передаются раздельно и "объединение" происходит на сервере БД.
    Плюсы:
    
    •Защита от SQL-"инъекций"
    
    •Выполнение запроса происходит немного быстрее
    
    Минусы:
    
    •Не во все части sql запроса можно вставить. Например, сервер БД не позволит выполнить такой запрос: select {CH1} from {CH2}
    
    {$CH} Данные из каналов напрямую вставляются в тело запроса в момент отправки на сервер.
    Плюсы:
    
    •Можно динамизировать запросы, т.е. писать запросы вида: select {$CH1} from {$CH2} where {$CH3} = {CH4}
    
    Минусы:
    
    •Подстановка происходит как есть, без экранирования спецсиволов. Если в CH1 будет текст вида 1; DROP TABLE test; select 1он отправится на сервер и успешно там выполнится
    Может про это?
    Последний раз редактировалось МихаилГл; 09.10.2024 в 13:19.

Похожие темы

  1. HTTP запрос на СПК107
    от mapleBear в разделе СПК1xx (архив)
    Ответов: 2
    Последнее сообщение: 28.07.2022, 20:41
  2. запрос новичка
    от Ходжа в разделе Программируемые реле
    Ответов: 14
    Последнее сообщение: 27.08.2019, 12:28
  3. как правильно оформить GET запрос
    от Brandon_heat_dre в разделе ПЛК1хх
    Ответов: 15
    Последнее сообщение: 25.08.2019, 18:02
  4. запрос архивного файла по 485
    от Антон12345 в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 04.03.2010, 14:33
  5. Запрос ТРМ-201
    от hilih в разделе Помощь Разработчикам
    Ответов: 1
    Последнее сообщение: 13.04.2009, 11:10

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •