Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / грабли макроподстановки избили мое лицо.спасите ! / 4 сообщений из 4, страница 1 из 1
24.03.2002, 14:50
    #32026073
чингачгук
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грабли макроподстановки избили мое лицо.спасите !
Задача тривиальна, соорудть ХП которая в параметры возьмет имя базы, точнее ее номер (например "Магазин" + 35), и текст для вставки. Бьюсь вокруг EXECUTE . Вроде все почти работает, но если текст, передоваемый в параметры, вдруг содержит кавычку(и)(напр Msg = "книга Ф.Купера "Последний из магикан""), все встает боком.
...
Рейтинг: 0 / 0
25.03.2002, 06:25
    #32026083
B_52
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грабли макроподстановки избили мое лицо.спасите !
А если с параметром перед этим сделать REPLACE на какой-нибудь нечитабельный символ,
а после вернуть на место обратным REPLACE. Но я сам понимаю, что некрасиво,но
что-то в голову больше ничего не идет...
...
Рейтинг: 0 / 0
25.03.2002, 07:18
    #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
25.03.2002, 14:15
    #32026135
BootMaker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грабли макроподстановки избили мое лицо.спасите !
Точнее, если я понял,
правильнее будет заменять по порядку двойную на одинарную, одинарную на двойную:
Replace (REPLACE(@y, '''''',''''),'''', '''''')
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / грабли макроподстановки избили мое лицо.спасите ! / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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