Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Динамический запрос? / 9 сообщений из 9, страница 1 из 1
19.09.2002, 09:45:39
    #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
19.09.2002, 10:32:46
    #32051547
mumka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический запрос?
А может это вобще не возможно?
...
Рейтинг: 0 / 0
19.09.2002, 10:33:11
    #32051549
Zenon74
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический запрос?
а что мешает сделать вот так:
declare @mycol varchar,@mytable varchar
set @mycol = 'needed_column'
set @mytable = 'needed_table'
exec('select '+@mycol+' from '+@mytable)
...
Рейтинг: 0 / 0
19.09.2002, 10:48:59
    #32051557
mumka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический запрос?
2 ZENON74
См пункт 1)
Ну не может юзер егзека вызвать ...
...
Рейтинг: 0 / 0
19.09.2002, 10:52:50
    #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
19.09.2002, 10:53:57
    #32051561
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический запрос?
Права на EXEC имеют все без исключения. Видимо пользователю не хватает прав на ту табличку, которая читается запросом внтури EXEC.
...
Рейтинг: 0 / 0
19.09.2002, 11:28:16
    #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
19.09.2002, 11:53:06
    #32051609
mumka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический запрос?
Спасибо ща попробую!
Тут я вфоруме покопалса - оказывается такой вопрос не только уменя возникал :-)))
...
Рейтинг: 0 / 0
19.09.2002, 12:01:09
    #32051615
lvv
lvv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический запрос?
2 MiCe
И чем тебе процедура поможет, EXEC все равно от имени пользователя выполняться будет. Единственный вариант использовать VIEW, права на таблицу забирать, а давать права на VIEW
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Динамический запрос? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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