powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Как создать аналог функции row_number?
1 сообщений из 1, страница 1 из 1
Как создать аналог функции row_number?
    #36852145
victor16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
drop procedure row_number; 
create procedure row_number(initial integer) returning integer as row_number; 
define global i integer default  0 ; 
if initial =  0  then 

let i =  0 ; 

return  0  ; 
end if; 
let i = i+ 1 ; 

return i ; 
end procedure 
document "Simplified and similar function to row_number() from SqlServer.", 
"Need to reset the counter before each sql statement with ", 
"execute procedure row_number(0) OR declare into FROM clause", 
"For use in SELECT statement use any other number in parameter:", 
"select row_number(1) , tabname from systables;" 
"OR select row_number(1) , tabname from systables, table(row_number(0))" 
with listing in "/tmp/row_number.out" 
; 

Routine created. 

; 
-- The trick is call the same function as derived table.. in FROM clause 
select first  5  row_number( 1 ), tabname::char( 20 ) from systables, table(row_number( 0 )); 

(expression) (expression) 

 1  systables 

 2  syscolumns 

 3  sysindices 

 4  systabauth 

 5  syscolauth 

 5  row(s) retrieved. 

select first  5  row_number( 1 ), tabname::char( 20 ) from systables, table(row_number( 0 )); 

(expression) (expression) 

 1  systables 

 2  syscolumns 

 3  sysindices 

 4  systabauth 

 5  syscolauth 

 5  row(s) retrieved. 

Database closed. 


Источник http://www.iiug.org/forums/ids/index.cgi/read/21279

С уважением,
Виктор
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Как создать аналог функции row_number?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]