|
|
|
Имена аргументов в хранимых функциях
|
|||
|---|---|---|---|
|
#18+
Добрый день Уважаемые! Я тут словил в своём приложении баг/не баг, а особенность которую для себя хочу прояснить с вашей помощью. Значит я придерживаюсь правила, что переменные в программе указывающие на данные из БД - называются одинаково с полями на данные которых они указывают. Имеется к примеру таблица: Код: sql 1. 2. 3. 4. 5. 6. И значит описываю функцию которая чистит данные по какому-то признаку: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. И как вы наверное уже поняли, при выполнении функции удалялись просто все данные с isActive=0, независимо от аргумента. А так я написал, т.к. по незнанию решил что по аналогии с использованием аргументов в SELECT'е - значит БД сама догадывается что в правой части именно аргумент а не имя поля. Но после выявления этого бага/фичи понял что наверное в SELECT'ах я всегда использую алиасы для таблиц и поэтому выражение aa.AU_DataID=AU_DataID однозначно расхуюживается где аргумент, а где поле, а в DELETE т.к. алиасов нет то и просто получается что поле=полю. Итого собственно чего прошу-то, какие вообще стандарты или рекоммендации по именованию аргументов для хранимых функций/процедур? Пока для себя решил это добавлением аргументам _, т.е. _AU_DataID, но уж коли обжегся, то сразу хочу правильно сделать. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2020, 19:56 |
|
||
|
Имена аргументов в хранимых функциях
|
|||
|---|---|---|---|
|
#18+
kormot, Код: sql 1. 2. 3. AU_DataID=AU_DataID всегда true, догадайся сам почему Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2020, 20:23 |
|
||
|
Имена аргументов в хранимых функциях
|
|||
|---|---|---|---|
|
#18+
kormot я придерживаюсь правила, что переменные в программе указывающие на данные из БД - называются одинаково с полями на данные которых они указывают Не, не в смысле изменять имена переменным. Наоборот. Уж если умеешь придерживаться правил, добавь ещё одно правило, причём с максимальным приоритетом. Правило такое: Каждое имя поля всегда содержит в своём составе алиас таблицы, из которой оно берётся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2020, 21:30 |
|
||
|
Имена аргументов в хранимых функциях
|
|||
|---|---|---|---|
|
#18+
Akina Каждое имя поля всегда содержит в своём составе алиас таблицы, из которой оно берётся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2020, 22:06 |
|
||
|
Имена аргументов в хранимых функциях
|
|||
|---|---|---|---|
|
#18+
Akina Каждое имя поля всегда содержит в своём составе алиас таблицы, из которой оно берётся. С первым соглашусь, второе спорно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2020, 22:48 |
|
||
|
Имена аргументов в хранимых функциях
|
|||
|---|---|---|---|
|
#18+
Akina , я так и делаю всегда и уже довольно давно. Только так делал для SELECT'ов и UPDATE'ов, где алиасы таблицам прописать можно. Про DELETE вот недокумекал, хотя на заре знакомства с БД использовал запись не алиаса а имятаблицы.поле, но когда открыл себе алиасы - то сразу перестал использовать имена таблиц т.к. они длинные. А сейчас вот вернусь с DELETE'ами к истокам так сказать :) Спасибо, полезный пунктик мне отметили. Вадя - тоже спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2020, 22:54 |
|
||
|
Имена аргументов в хранимых функциях
|
|||
|---|---|---|---|
|
#18+
miksoft В смысле всегда указывать алиас таблицы (table.field) или прям в само имя поля втаскивать (table.table_field) ? Да кому оно надо - префикс имени таблицы в самом имени поля? у полей префиксы используют для иных целей - указать тип данных, указать, что это FK, и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2020, 07:41 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39966927&tid=1828533]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 16ms |
| total: | 183ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...