powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Динамический запрос?
9 сообщений из 9, страница 1 из 1
Динамический запрос?
    #32051527
Фотография mumka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин опять запара!
Мужики, Спасибо Вам за помощь чайнику!!!
Есиб не вы такие умные ... (страшно подумать даже, что было бы).
Но блин процесс обучения череват препятствиями и я вот уже пол дня продолбался с этим EXEC'ом и ... обламался.
1)Как оказалось для запуска в тиггере EXEC необходимо иметь на это права, а пользователям БД такие права пожалуй давать жалко (да я и не знаю где - в стандартных разрешениях в ЕМ их нет).
2) К тому же добившись срабатывания триггера в QA, с удивлением обнаружил что он некорректно работает в EM.
То есть при запрещении удаления RAISERROR не вылетает и делается вид что сторка удалена, но когда выходишь и заходишь обратно обнаруживаешь ее целой и не вредимой.
3) Таким образом хотелось бы выполнить динамический запрос вида:
SELECT (SELECT(@FKTCNAME)) FROM (SELECT (@FKTNAME))
где @FKTCNAME=ColName
@FKTNAME=TablName
MSSQL в теле инструкции FROM не поддерживает параметры, и работает только
SELECT (SELECT(@FKTCNAME)) FROM TablName
Может подскажете как енто можно провернуть ...
Вы ж такие умные :-)))
...
Рейтинг: 0 / 0
Динамический запрос?
    #32051547
Фотография mumka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может это вобще не возможно?
...
Рейтинг: 0 / 0
Динамический запрос?
    #32051549
Zenon74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а что мешает сделать вот так:
declare @mycol varchar,@mytable varchar
set @mycol = 'needed_column'
set @mytable = 'needed_table'
exec('select '+@mycol+' from '+@mytable)
...
Рейтинг: 0 / 0
Динамический запрос?
    #32051557
Фотография mumka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ZENON74
См пункт 1)
Ну не может юзер егзека вызвать ...
...
Рейтинг: 0 / 0
Динамический запрос?
    #32051560
Передавай строкой и выполняй эту строку.

Пример

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE PROCEDURE dbo.sp_CreateCrossReport (@CurWHERE VarChar( 4000 ), @SelWHERE VarChar( 4000 )) AS

DECLARE @SQLSelect VarChar( 8000 ), @SQLFrom VarChar( 8000 )
DECLARE @Cursor VarChar( 4000 )

Set @SQLSelect='SELECT  ID as [№ товара], ShortName as [Короткое название], Ed_izm as [Ед.изм.],  CAST(Articul  as varchar())as [Артикул]'
SET @SQLFrom = 'FROM (select * from vFullLager with (Readuncommitted) WHERE 1=1 '+@SelWHERE+' ) L'
...
exec (@SQLSelect+' '+@SQLFrom)
...
Рейтинг: 0 / 0
Динамический запрос?
    #32051561
Фотография ziktuw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Права на EXEC имеют все без исключения. Видимо пользователю не хватает прав на ту табличку, которая читается запросом внтури EXEC.
...
Рейтинг: 0 / 0
Динамический запрос?
    #32051587
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделай процедуру от имени dbo и разреши выполнение остальным....
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
create proc myproc
@FKTCNAME as nvarchar( 100 ),@FKTNAME as nvarchar( 100 )
as
declare @str as nvarchar( 4000 )
SET NOCOUNT ON
SET ANSI_WARNINGS OFF
set @FKTCNAME = N'ColName',@FKTNAME =N'TablName'
set @str=N'SELECT (SELECT(' + @FKTCNAME + N')) FROM (SELECT (' + @FKTNAME +N'))' 
exec (@str)
...
Рейтинг: 0 / 0
Динамический запрос?
    #32051609
Фотография mumka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо ща попробую!
Тут я вфоруме покопалса - оказывается такой вопрос не только уменя возникал :-)))
...
Рейтинг: 0 / 0
Динамический запрос?
    #32051615
lvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lvv
Гость
2 MiCe
И чем тебе процедура поможет, EXEC все равно от имени пользователя выполняться будет. Единственный вариант использовать VIEW, права на таблицу забирать, а давать права на VIEW
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Динамический запрос?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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