|
|
|
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:53:34 |
|
||
|
View
|
|||
|---|---|---|---|
|
#18+
Может функции помогут если SQL2K ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 08:58:04 |
|
||
|
View
|
|||
|---|---|---|---|
|
#18+
Возможно ли в представление передавать значения дат? Нет. Для этого необходимо использовать хранимые процедуры. Кстати, ничего в этом сложного нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 09:31:01 |
|
||
|
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, 09:52:56 |
|
||
|
View
|
|||
|---|---|---|---|
|
#18+
Ага, вот и ещё три объекта появилось: две UDF и табличка, в которую, к тому же, ещё и писать что-то надо. С ииспользованием SP можно было бы обойтись следующим кодом: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. И всех делов то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 10:15:34 |
|
||
|
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 11:59:49 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32071251&tid=1818586]: |
0ms |
get settings: |
6ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
33ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 281ms |

| 0 / 0 |
