powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / грабли макроподстановки избили мое лицо.спасите !
4 сообщений из 4, страница 1 из 1
грабли макроподстановки избили мое лицо.спасите !
    #32026073
чингачгук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача тривиальна, соорудть ХП которая в параметры возьмет имя базы, точнее ее номер (например "Магазин" + 35), и текст для вставки. Бьюсь вокруг EXECUTE . Вроде все почти работает, но если текст, передоваемый в параметры, вдруг содержит кавычку(и)(напр Msg = "книга Ф.Купера "Последний из магикан""), все встает боком.
...
Рейтинг: 0 / 0
грабли макроподстановки избили мое лицо.спасите !
    #32026083
B_52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если с параметром перед этим сделать REPLACE на какой-нибудь нечитабельный символ,
а после вернуть на место обратным REPLACE. Но я сам понимаю, что некрасиво,но
что-то в голову больше ничего не идет...
...
Рейтинг: 0 / 0
грабли макроподстановки избили мое лицо.спасите !
    #32026086
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то не пойму, если у вас уже есть _переданный параметр_, то какая разница сколько и чего он содержит ?
Ну придется задвоить каждую одинарную кавычку, ну так это давно известный прием

declare @x varchar(50), @y varchar(50)
set @y = 'A'''
set @x = 'select ''' + REPLACE(@y, '''', '''''') + ''''
print @y
print @x
select @y
exec(@x)

PS
Все кавычки в примере - одинарные.
...
Рейтинг: 0 / 0
грабли макроподстановки избили мое лицо.спасите !
    #32026135
BootMaker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точнее, если я понял,
правильнее будет заменять по порядку двойную на одинарную, одинарную на двойную:
Replace (REPLACE(@y, '''''',''''),'''', '''''')
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / грабли макроподстановки избили мое лицо.спасите !
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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