powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / помогите исправить скрипт.
10 сообщений из 10, страница 1 из 1
помогите исправить скрипт.
    #40024852
thesomebody
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет. В скриптах скуля не мастер, только пытаюсь познать.
Помогите, исправить скрипт. Ругается на строку 'EXECUTE IMMEDIATE', пишет: Сообщение 102, уровень 15, состояние 1, строка 24
Неправильный синтаксис около конструкции "+".

Собственно сам скрипт:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
use MyBase

declare @NameRegZad varchar(100);

select top 10 name --, *
into #AllNameRegZad 
from sys.tables
where name like '_ScheduledJobs%';

Declare partitions CURSOR FOR Select * from #AllNameRegZad;

OPEN partitions;

while 1=1
	begin;
		fetch next
		from partitions
		into @NameRegZad
		
		If @@FETCH_STATUS < 0 BREAK;
		
		print N'zadanie name = ' + @NameRegZad;
		
		EXECUTE IMMEDIATE 'UPDATE ' + @NameRegZad +' SET use=0 WHERE use=1';
		 
	end;

close partitions;
deallocate partitions;

drop table #AllNameRegZad;
go



Если будут советы как переделать, тоже буду рад прочесть.
Мне надо получить имена таблиц по подстроке, и исправить в них одно поле.
Всем спасибо
...
Рейтинг: 0 / 0
помогите исправить скрипт.
    #40024866
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
thesomebody

EXECUTE IMMEDIATE
Это что за оракловщина такая? Вы бы хоть документацию про динамический SQL почитали бы для начала...
...
Рейтинг: 0 / 0
помогите исправить скрипт.
    #40024868
thesomebody
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Щукина Анна
thesomebody

EXECUTE IMMEDIATE
Это что за оракловщина такая? Вы бы хоть документацию про динамический SQL почитали бы для начала...


по делу что-нибудь от вас будет или вы так?

ПС: "Самый простой способ выполнить динамическую инструкцию SQL — выполнить инструкцию EXECUTE IMMEDIATE"
https://docs.microsoft.com/ru-ru/sql/odbc/reference/dynamic-sql?view=sql-server-2017
...
Рейтинг: 0 / 0
помогите исправить скрипт.
    #40024869
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
thesomebody
Щукина Анна
пропущено...
Это что за оракловщина такая? Вы бы хоть документацию про динамический SQL почитали бы для начала...


по делу что-нибудь от вас будет или вы так?

ПС: "Самый простой способ выполнить динамическую инструкцию SQL — выполнить инструкцию EXECUTE IMMEDIATE"
https://docs.microsoft.com/ru-ru/sql/odbc/reference/dynamic-sql?view=sql-server-2017
По делу все сказано. Цитируемая статься к T-SQL не имеет отношения, даже если вам кажется обратное. Конструкции EXECUTE IMMEDIATE в T-SQL нет.
...
Рейтинг: 0 / 0
помогите исправить скрипт.
    #40024873
thesomebody
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей Алексеевич, спасибо сразу понятно стало. буду использовать EXECUTE(...).
...
Рейтинг: 0 / 0
помогите исправить скрипт.
    #40024881
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
thesomebody
Гавриленко Сергей Алексеевич, спасибо сразу понятно стало. буду использовать EXECUTE(...).

Час от часу не легче. Его задепрекейтили еще лет 10 назад, не меньше.
https://docs.microsoft.com/ru-ru/sql/t-sql/language-elements/execute-transact-sql?view=sql-server-ver15 В будущей версии Microsoft SQL Server этот компонент будет удален. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.

Давно уже все используют sp_executesql
...
Рейтинг: 0 / 0
помогите исправить скрипт.
    #40024884
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
thesomebody
Гавриленко Сергей Алексеевич, спасибо сразу понятно стало. буду использовать EXECUTE(...).

Час от часу не легче. Его задепрекейтили еще лет 10 назад, не меньше.
https://docs.microsoft.com/ru-ru/sql/t-sql/language-elements/execute-transact-sql?view=sql-server-ver15 В будущей версии Microsoft SQL Server этот компонент будет удален. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.

Давно уже все используют sp_executesql Зачем вводите в заблуждение?
Там речь идёт о параметре <;number>.
Кстати, его объявили устаревшим для хранимых процедур ещё 100 лет назад...

P.S. Это я по вашей ссылке сходил и прочитал, если что
...
Рейтинг: 0 / 0
помогите исправить скрипт.
    #40024889
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iap
Зачем вводите в заблуждение?
Там речь идёт о параметре <;number>.

Не суть. Факт то, что уже стопятьсот лет, как советуют sp_ использовать вместо него.
...
Рейтинг: 0 / 0
помогите исправить скрипт.
    #40024891
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
iap
Зачем вводите в заблуждение?
Там речь идёт о параметре <;number>.

Не суть. Факт то, что уже стопятьсот лет, как советуют sp_ использовать вместо него.
Кто советует? Зачем, если не нужна параметризация? Особенно, если надо процедуру вызвать?

Хоть одну ссылку на "советы", плз.
...
Рейтинг: 0 / 0
помогите исправить скрипт.
    #40024978
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

sp_executesql использовать избыточно без параметризации. Хотя это и позволяет повторно использовать план запроса, но если запрос не параметризован или не повторяется, то нет смысла.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / помогите исправить скрипт.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]