Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Может ли функция вернуть два значения?
|
|||
|---|---|---|---|
|
#18+
Привет! Ситуация такая: Есть таблица Сотрудников, в таблице Первичный ключ состоит из двух полей. Есть имя пользователя у сотрудника. Необходимо в таблицу задачи, забить данные сотрудника по имени пользователя. Тоесть придётся написать функцию которая возвращает Ключ сотрудника. А так как ключ состоит из двух полей то видимо придётся писать две функции, или есть другие варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2008, 10:36 |
|
||
|
Может ли функция вернуть два значения?
|
|||
|---|---|---|---|
|
#18+
LeximusПривет! Ситуация такая: Есть таблица Сотрудников, в таблице Первичный ключ состоит из двух полей. Есть имя пользователя у сотрудника. Необходимо в таблицу задачи, забить данные сотрудника по имени пользователя. Тоесть придётся написать функцию которая возвращает Ключ сотрудника. А так как ключ состоит из двух полей то видимо придётся писать две функции, или есть другие варианты? а два выходных параметра? или рекордсет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2008, 11:17 |
|
||
|
Может ли функция вернуть два значения?
|
|||
|---|---|---|---|
|
#18+
Winnipuh LeximusПривет! Ситуация такая: Есть таблица Сотрудников, в таблице Первичный ключ состоит из двух полей. Есть имя пользователя у сотрудника. Необходимо в таблицу задачи, забить данные сотрудника по имени пользователя. Тоесть придётся написать функцию которая возвращает Ключ сотрудника. А так как ключ состоит из двух полей то видимо придётся писать две функции, или есть другие варианты? а два выходных параметра? или рекордсет?Создать свой тип (type) и возвращать переменную этого типа. А в нём хоть десяток полей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2008, 12:18 |
|
||
|
Может ли функция вернуть два значения?
|
|||
|---|---|---|---|
|
#18+
Ну вот например Таблицы: Таблица: Employees 1.Id1 2.Id2 3.Name 4.User Таблица: Tasks 1.Id 2.Date 3.Name 4.Emp_Id1 4.Emp_Id2 Получается функции надо создавать две, ну вот образно говоря: Код: plaintext 1. 2. 3. 4. И в результате получается что фактически два раза из одной и тойже таблицы будет выборка, хотя нужна одна и таже строка. В итоге потеря времени! А может можно какнибудь проще сделать и быстрее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2008, 13:24 |
|
||
|
Может ли функция вернуть два значения?
|
|||
|---|---|---|---|
|
#18+
Возвращать свой тип или массив. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2008, 13:31 |
|
||
|
Может ли функция вернуть два значения?
|
|||
|---|---|---|---|
|
#18+
функция возвращает одно значение. Но оно (значение) может быть весьма сложно устроено (от типов, до сетов этих типов). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2008, 13:55 |
|
||
|
Может ли функция вернуть два значения?
|
|||
|---|---|---|---|
|
#18+
Leximus образно говоря: Код: plaintext 1. 2. 3. отвлекаясь от синтаксиса, на вашем примере function EmpId(select Id1,Id2 from Employees where User=current_user) INSERT INTO Tasks (Id, Date, Name, Emp_Id1, Emp_Id2) VALUES (1, '22.11.2010', 'Тест', EmpId.Id1, EmpId.Id2) как обеспечить вызов один раз - см. в доке STABLE . или приемы вида ,foo.fld1 ,... ,foo.fldN FROM ... , (SELECT ..... From .... LIMIT 1) AS foo ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2008, 14:02 |
|
||
|
Может ли функция вернуть два значения?
|
|||
|---|---|---|---|
|
#18+
[quot 4321function EmpId(select Id1,Id2 from Employees where User=current_user) INSERT INTO Tasks (Id, Date, Name, Emp_Id1, Emp_Id2) VALUES (1, '22.11.2010', 'Тест', EmpId.Id1, EmpId.Id2) [/quot] А в этой ситуации функция два раза вызываться будет или один? И может можно сделать константу каждому пользователю, ну например чтобы вызове select UserId у каждого пользователя своё значение возвращалось, или это только через функцию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2008, 14:24 |
|
||
|
Может ли функция вернуть два значения?
|
|||
|---|---|---|---|
|
#18+
LeximusА в этой ситуации функция два раза вызываться будет или один?никакой "этой" ситуации еще нет. есть псевдокод, не отвечающий никаким требованиям к оформлению ф-й в Пг. Когда нарисуете нечто более менее похожее - запихайте в ф-ю нотис, и просмотрите кол-во сообщений. ПОиграйте с модификатором STABLE/и т.п. LeximusИ может можно сделать константу каждому пользователю, ну например чтобы вызове select UserId у каждого пользователя своё значение возвращалось, или это только через функцию?поищите поиском по ~~ константы сеанса Решения есть. В т.ч. - через Temporary таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2008, 15:16 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=35103704&tid=2004667]: |
0ms |
get settings: |
8ms |
get forum list: |
26ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 215ms |
| total: | 395ms |

| 0 / 0 |
