Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.09.10;
Скачать: CL | DM;

Вниз

FireBird View с параметрами.   Найти похожие ветки 

 
Михаил   (2014-03-03 18:01) [0]

В View можно передавать параметры для подзапроса?

select * from myview

create view myview(c)
as
select ulogin, upassword from users where ulogin=? and upassword=?


 
Михаил   (2014-03-03 18:02) [1]

пардон

select count(*) from users where ulogin=? and upassword=?


 
clickmaker ©   (2014-03-03 18:28) [2]

во вью вообще нельзя передавать параметры, это по сути виртуальная таблица. Параметры можно передавать в запрос к вью


 
Михаил   (2014-03-03 18:31) [3]


> Параметры можно передавать в запрос к вью

Покажите


 
clickmaker ©   (2014-03-03 18:49) [4]

> Покажите

точно так же, как в запрос к таблице


 
Михаил   (2014-03-03 19:10) [5]

Если напрямую пользователю к таблице доступ запрещен на все, но нужно через view достать информацию из таблицы - используем view.

Вопрос в том как в select count(*) from users where ulogin=? and upassword=?
подставить значения при select  from myview


 
clickmaker ©   (2014-03-03 19:12) [6]

а в чем проблема? вместо users подставить myview


 
Михаил   (2014-03-03 19:19) [7]


> clickmaker ©   (03.03.14 19:12) [6]

Проблема передать параметры во внутренний запрос view? доступ на прямую к таблице запрещен.

select * from myview where user.ulogin = "user" and user.upassword = "123";


 
clickmaker ©   (2014-03-03 19:24) [8]

> from myview where user.ulogin

ищу не там, где потерял, а там, где светлее?


 
Ega23 ©   (2014-03-03 19:27) [9]

select * from myview where myview.ulogin = "user" and myview.upassword = "123";

Только смысл какой в такой вьюхе?


 
Кщд   (2014-03-03 20:42) [10]

>Ega23 ©   (03.03.14 19:27) [9]
похоже, ТС хочет странного, а именно - обратиться к полям, которые есть в подлежащих таблицах, но нет в представлении


 
Ega23 ©   (2014-03-03 21:51) [11]


> похоже, ТС хочет странного, а именно - обратиться к полям,
>  которые есть в подлежащих таблицах, но нет в представлении


ХП?


 
Inovet ©   (2014-03-03 21:52) [12]

> [10] Кщд   (03.03.14 20:42)

Вроде есть они в [0].


 
Кщд   (2014-03-04 08:42) [13]

>Inovet ©   (03.03.14 21:52) [12]
а вроде - нет: "Михаил   (03.03.14 18:02) [1]"
))

>Ega23 ©   (03.03.14 21:51) [11]
мне немного всё равно)


 
Inovet ©   (2014-03-04 10:30) [14]

> [13] Кщд   (04.03.14 08:42)

Да, тогда нет.


 
Михаил   (2014-03-04 11:29) [15]

Может быть вы подскажите как это делается правильно.

Ну попробую объяснить еще раз чего я хотел:

1) Вот выставлены такие права на таблицу и вью
http://s43.radikal.ru/i101/1403/b4/00e08a5c57a4.png

Для SYSDBA сменили пароль и им не пользуемся, для подключения к БД используем пользователя ZUSER.

2)Если дать ZUSER право на select на прямую к таблице users, то так называемый злоумышленник может с другого клиента выгрести все логины/пароли.

Вот я и начал мудрить через VIEW.


 
Кщд   (2014-03-04 11:44) [16]

>Михаил   (04.03.14 11:29) [15]
хранимая процедура, как советовали
либо использовать контексты


 
Михаил   (2014-03-04 12:24) [17]


> Кщд   (04.03.14 11:44) [16]

Если доступ к таблице запрещен, то и из процедуры доступа не будет.


 
clickmaker ©   (2014-03-04 12:27) [18]

обычно запрещают доступ на прямой селект из таблиц, но разврешают из вьюх и выполнение хранимок.
В особо тяжелых случаях таблицы и вьюхи могут даже разносить по разным базам.


 
Михаил   (2014-03-04 12:37) [19]


> обычно запрещают доступ на прямой селект из таблиц, но разврешают
> из вьюх и выполнение хранимок.


Ну вот пример
http://i038.radikal.ru/1403/1e/28e25499849e.png

и если в NEW_PROCEDURE будет запрос из таблицы USERS, то это будет ошибкой доступа.

Я вы пишите что так можно.


 
Кщд   (2014-03-04 12:44) [20]

>Михаил   (04.03.14 12:24) [17]
во-первых, враки(вы же версию скрываете, ага?)
во-вторых, контексты - читать умеем?


 
Кщд   (2014-03-04 12:47) [21]

>Михаил   (04.03.14 12:37) [19]
если делать неправильно, то нельзя
если правильно, можно(и нужно) делать именно так


 
Михаил   (2014-03-04 13:02) [22]


> если делать неправильно, то нельзя
> если правильно, можно(и нужно) делать именно так


Как правильно останется секретом?


 
Михаил   (2014-03-04 13:09) [23]


> во-первых, враки(вы же версию скрываете, ага?)


FB 2.5


 
Кщд   (2014-03-04 14:03) [24]

>Михаил   (04.03.14 13:09) [23]
дать права процедуре
тех, кто не желает читать документацию по используемому средству, окружают сплошные секреты


 
Михаил   (2014-03-04 14:43) [25]


> Кщд   (04.03.14 14:03) [24]

http://i038.radikal.ru/1403/1e/28e25499849e.png. Что не так дал?

На вызов процедуры права даны, не даны права таблице которая участвует в теле процедуры.

А, и не будь голословным, где же это в документации?


 
Inovet ©   (2014-03-04 14:45) [26]

> [25] Михаил   (04.03.14 14:43)
> На вызов процедуры права даны

Осталось дать процедуре.


 
Михаил   (2014-03-04 14:52) [27]

Так, стоп, ничего не пишите...


 
Михаил   (2014-03-04 15:07) [28]

Все спасибо, очень виноват.

GRANT SELECT ON USERS TO PROCEDURE NEW_PROCEDURE;


 
Ega23 ©   (2014-03-04 15:22) [29]

Видишь, как всё просто?  :)


 
Михаил   (2014-03-04 15:56) [30]


> Ega23 ©   (04.03.14 15:22) [29]

Зачем было сколько мучать?


 
Rouse_ ©   (2014-03-04 18:04) [31]


> Зачем было сколько мучать?

Ega23 ©   (03.03.14 21:51) [11]



Страницы: 1 вся ветка

Текущий архив: 2015.09.10;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.147 c
15-1416493349
aka
2014-11-20 17:22
2015.09.10
поворот отрезка


15-1411026743
MBo
2014-09-18 11:52
2015.09.10
А где ветка про XE7?


15-1414317141
Dennis I. Komarov
2014-10-26 13:52
2015.09.10
MailClient for Windows


2-1396092417
Drowsy_
2014-03-29 15:26
2015.09.10
В отчёте TQuickRep используются только TQRSubDetail и TQRLabel.


15-1419599048
Maksim_76
2014-12-26 16:04
2015.09.10
LG Караоке- Диск проблема конвертации