Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.049 c
15-1418396465
Gydvin
2014-12-12 18:01
2015.09.10
А вот интересно


2-1396381520
Signal
2014-04-01 23:45
2015.09.10
Подскажите функцию для перекодировки доменных имен по русски


15-1411607532
Ega23
2014-09-25 05:12
2015.09.10
Вячеслав Олегович


15-1415975355
LIFTEX
2014-11-14 17:29
2015.09.10
Вопрос по версиям среды разработки


2-1395399726
Александр_2012
2014-03-21 15:02
2015.09.10
откат изменений в БД





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский