
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
22.11.2002, 08:53:34
|
|||
|---|---|---|---|
|
|||
View |
|||
|
#18+
Необходимо создать представление вида : create view load (napr,prn,prd) as select nnapr as napr, 0 as prn,count(*) as prd from tabl1 where tr_time between '01.09.2002' and '30.09.2002 23:59:59' group by nnapr union select nnapr_rc as napr,count(*) as prn,0 as prd from tabl1 where rc_time between '01.09.2002' and '30.09.2002 23:59:59' group by nnapr_rc Но хотелось бы чтоб значения дат в представлении не были явно заданы. Возможно ли в представление передавать значения дат? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.11.2002, 08:58:04
|
|||
|---|---|---|---|
View |
|||
|
#18+
Может функции помогут если SQL2K ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.11.2002, 09:31:01
|
|||
|---|---|---|---|
View |
|||
|
#18+
Возможно ли в представление передавать значения дат? Нет. Для этого необходимо использовать хранимые процедуры. Кстати, ничего в этом сложного нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.11.2002, 09:52:56
|
|||
|---|---|---|---|
View |
|||
|
#18+
4tpg : Я бы использовал не SP а UDF : CREATE TABLE [dbo].[RepDate] ( [D1] [datetime] NULL , [D2] [datetime] NULL ) ON [PRIMARY] go CREATE FUNCTION fnD1() RETURNS datetime AS begin declare @A datetime set @a= (select D1 from [RepDate]) RETURN @a end go CREATE FUNCTION fnD2() RETURNS datetime AS begin declare @A datetime set @a= (select top D2 from [RepDate]) RETURN @a end GO Тогда View выглядел бы так : create view load (napr,prn,prd) as select nnapr as napr, 0 as prn,count(*) as prd from tabl1 where tr_time between dbo.fnD1() and dbo.fnD2() group by nnapr union select nnapr_rc as napr,count(*) as prn,0 as prd from tabl1 where rc_time between dbo.fnD1() and dbo.fnD2() group by nnapr_rc остается только записывать в таблицу RepDate две даты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.11.2002, 10:15:34
|
|||
|---|---|---|---|
View |
|||
|
#18+
Ага, вот и ещё три объекта появилось: две UDF и табличка, в которую, к тому же, ещё и писать что-то надо. С ииспользованием SP можно было бы обойтись следующим кодом: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. И всех делов то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.11.2002, 11:59:49
|
|||
|---|---|---|---|
|
|||
View |
|||
|
#18+
2 tpg Или, если версия SQL2K - одной Table-Valued Function. Преимущество в том, что ее можно напрямую использовать в From, без использования всяких временных таблиц, что потребуется при использовании SP для джойна с другими таблицами. Кстати, в BOL одна из глав так и называется - Rewriting Stored Procedures as Functions : This topic describes how to determine whether to rewrite existing stored procedure logic as user-defined functions. For example, if you want to invoke a stored procedure directly from a query, repackage the code as a user-defined function. In general, if the stored procedure returns a (single) result set, define a table-valued function. If the stored procedure computes a scalar value, define a scalar function. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1818586]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
2ms |
| others: | 244ms |
| total: | 372ms |

| 0 / 0 |
