Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Разница между Join в запросе и ХП  [new]
Proga
Member

Откуда: МО
Сообщений: 3042
Был запрос
SELECT Tab_sootv.Kurs, F_pay_Perv.Nplat, F_pay_Perv.ЦФУ, F_pay_Perv.Project, F_pay_Perv.Etap, F_pay_Perv.Phase, F_pay_Perv.Statya, F_pay_Perv.Account, F_pay_Perv.Sum_pay, F_pay_Perv.Currency_pay, F_pay_Perv.Date_pay, F_pay_Perv.CFO_name, F_pay_Perv.Nomenkl, F_pay_Perv.Nomen, F_pay_Perv.Date_pay, F_pay_Perv.Who_pay
FROM F_pay_Perv LEFT JOIN Tab_sootv ON F_pay_Perv.shem = Tab_sootv.Shema;
перевёл в ХП и получил
ALTER    PROCEDURE F_pay AS
SET NOCOUNT ON
SELECT  Tab_sootv.Kurs, F_pay_Perv.Nplat, F_pay_Perv.ЦФУ, 
F_pay_Perv.Project, F_pay_Perv.Etap, F_pay_Perv.Phase, F_pay_Perv.Statya, 
F_pay_Perv.Account, F_pay_Perv.Sum_pay, F_pay_Perv.Currency_pay, 
F_pay_Perv.Date_pay, F_pay_Perv.CFO_name, F_pay_Perv.Nomenkl, F_pay_Perv.Nomen,
F_pay_Perv.Date_pay, F_pay_Perv.Who_pay
FROM F_pay_Perv LEFT JOIN Tab_sootv ON F_pay_Perv.shem = Tab_sootv.Shema;
но ХП не работает, говорит, что не знает F_pay_Perv
но F_pay_perv тоже ХП, есть подозрение, что её надо запускать перед прогоном F_pay.
Разъясните, где прав и где неправ.
12 авг 04, 12:26    [876808]     Ответить | Цитировать Сообщить модератору
 Re: Разница между Join в запросе и ХП  [new]
Victosha
Member

Откуда: Москва
Сообщений: 2620
в ХП настоятельно рекоменуется указывать владельца таблицы
- dbo.F_pay_Perv
(с выражением лица)
12 авг 04, 12:30    [876830]     Ответить | Цитировать Сообщить модератору
 Re: Разница между Join в запросе и ХП  [new]
Proga
Member

Откуда: МО
Сообщений: 3042
2 Victosha: F_pay_perv - ХП
12 авг 04, 12:33    [876843]     Ответить | Цитировать Сообщить модератору
 Re: Разница между Join в запросе и ХП  [new]
Bely
Member

Откуда: Москва
Сообщений: 1903
Proga
2 Victosha: F_pay_perv - ХП

Какая роазница...
Ошибка может быть либо в том, что объекта нет (уже нет, еще нет),
либо в том, что объект не виден (не виден в данном контексте, не виден из-за нехватки прав).

А хранимая это процедура, таблица, VIEW или сало на полке - без разницы.
12 авг 04, 12:37    [876870]     Ответить | Цитировать Сообщить модератору
 Re: Разница между Join в запросе и ХП  [new]
Proga
Member

Откуда: МО
Сообщений: 3042
У админа помоему все права, а ХП есть (нормально работающая).
Почему может выдаёт ошибку на отсутствие ХП F_pay_perv?
12 авг 04, 12:41    [876885]     Ответить | Цитировать Сообщить модератору
 Re: Разница между Join в запросе и ХП  [new]
Victosha
Member

Откуда: Москва
Сообщений: 2620
был запрос и он работал?

мне сие непостижимо. понять я этого никак не могу. это в другой форум, наверно - где лучше знают.

вот такое я понимаю:

FROM
Specifies the tables, views, derived tables, and joined tables used in DELETE, SELECT, and UPDATE statements.

Syntax
[ FROM { < table_source > } [ ,...n ] ]

< table_source > ::=
table_name [ [ AS ] table_alias ] [ WITH ( < table_hint > [ ,...n ] ) ]
| view_name [ [ AS ] table_alias ] [ WITH ( < view_hint > [ ,...n ] ) ]
| rowset_function [ [ AS ] table_alias ]
| user_defined_function [ [ AS ] table_alias ]
| derived_table [ AS ] table_alias [ ( column_alias [ ,...n ] ) ]
| < joined_table >

< joined_table > ::=
< table_source > < join_type > < table_source > ON < search_condition >
| < table_source > CROSS JOIN < table_source >
| [ ( ] < joined_table > [ ) ]

< join_type > ::=
[ INNER | { { LEFT | RIGHT | FULL } [ OUTER] } ]
[ < join_hint > ]
JOIN

(с выражением лица)

и из этого не могу вывести, что запрос работал...
Так что - увольте.


(с выраженьем на лице)
12 авг 04, 12:44    [876905]     Ответить | Цитировать Сообщить модератору
 Re: Разница между Join в запросе и ХП  [new]
Proga
Member

Откуда: МО
Сообщений: 3042
Ладно попробую на MS SQL server спросить.
12 авг 04, 12:47    [876919]     Ответить | Цитировать Сообщить модератору
 Re: Разница между Join в запросе и ХП  [new]
ищ
Guest
ХП на основе ХП не работают
выход: либо создавай функции, либо делай внутренний запрос и связывай его со своим запросом
12 авг 04, 12:58    [876965]     Ответить | Цитировать Сообщить модератору
 Re: Разница между Join в запросе и ХП  [new]
Proga
Member

Откуда: МО
Сообщений: 3042
Вот и я так подумал.
Буду страдать (пытаться).
2 ищ: А мож подскажешь как переписать ХП, хотя бы для одного поля. Так для примера, а я потом остальное сам допишу.
12 авг 04, 13:04    [877004]     Ответить | Цитировать Сообщить модератору
 Re: Разница между Join в запросе и ХП  [new]
Victosha
Member

Откуда: Москва
Сообщений: 2620
2 ищ
ну, с openquery в такой ситуации, наверно можно помутить, - этого "сам не пробовал"
(с выражением лица)
12 авг 04, 13:28    [877126]     Ответить | Цитировать Сообщить модератору
 Re: Разница между Join в запросе и ХП  [new]
ищ
Guest
SELECT Tab_sootv.Kurs, F_pay_Perv.Nplat, F_pay_Perv.ЦФУ,
F_pay_Perv.Project, F_pay_Perv.Etap, F_pay_Perv.Phase, F_pay_Perv.Statya,
F_pay_Perv.Account, F_pay_Perv.Sum_pay, F_pay_Perv.Currency_pay,
F_pay_Perv.Date_pay, F_pay_Perv.CFO_name, F_pay_Perv.Nomenkl, F_pay_Perv.Nomen,
F_pay_Perv.Date_pay, F_pay_Perv.Who_pay
FROM (select Таблица1.* from Таблица1) F_pay_Perv LEFT JOIN Tab_sootv ON F_pay_Perv.shem = Tab_sootv.Shema
12 авг 04, 13:30    [877138]     Ответить | Цитировать Сообщить модератору
 Re: Разница между Join в запросе и ХП  [new]
Proga
Member

Откуда: МО
Сообщений: 3042
2 ищ: Как ты предложил не работает. Сделал подругому.
F_pay_perv перевёл в представление, а потом сделал join.
Как, поддерживаешь такое решение?
12 авг 04, 13:37    [877169]     Ответить | Цитировать Сообщить модератору
 Re: Разница между Join в запросе и ХП  [new]
Victosha
Member

Откуда: Москва
Сообщений: 2620
ищ - поддержи. а то упадет
:))



(с выражением лица)
12 авг 04, 13:40    [877181]     Ответить | Цитировать Сообщить модератору
 Re: Разница между Join в запросе и ХП  [new]
ищ
Guest
я делаю так как написал выше
либо создавай функции, либо делай внутренний запрос и связывай его со своим запросом
представление нежелательно, т.к. оно возвращает все записи, а тебе надобно тока некоторыя
12 авг 04, 16:11    [877936]     Ответить | Цитировать Сообщить модератору
 Re: Разница между Join в запросе и ХП  [new]
Shuhard
Member

Откуда:
Сообщений: 4998
временная таблица + Insert в неё exec XP
(НАЗВАНИЯ ПОЛЕЙ И ТАБЛИЦ К Proga отношения не имеют)
myrepsdoperkurz - XP
create table #Swop
(Comp_Name varchar(255),
Col1 Float,
Col2 Float,
Col3 Float,
Col4 Float)
insert into #Swop exec myrepsdoperkurz 1998
select Comp_Name,Col1 from #Swop
Order BY Comp_Name
12 авг 04, 16:52    [878107]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить