|
Создание вычисляемых столбцов в таблице
|
|||
---|---|---|---|
#18+
Доброго времени суток, ребята! Создаю таблицу, в которой у меня должно быть 3 вычисляемых столбца. Два первых вычисляемых столбца используют стандартные встроенные функции Buffer() и AsText(), а для третьего столбца прописал свою пользовательскую функцию KoordsAreaInTxt(). И вот с 3-м вычисляемым столбцом и возникает проблема при создании таблицы, пишет, что данный столбец содержит запрещённую функцию - "Error Code: 3102. Expression of generated column 'AllKoordinatesAreaTxt' contains a disallowed function." Почему он ругается? Что нужно исправить? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 12:04 |
|
Создание вычисляемых столбцов в таблице
|
|||
---|---|---|---|
#18+
Пользовательские функции недопустимы. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 12:58 |
|
Создание вычисляемых столбцов в таблице
|
|||
---|---|---|---|
#18+
Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 13:00 |
|
Создание вычисляемых столбцов в таблице
|
|||
---|---|---|---|
#18+
Akina, спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 13:10 |
|
Создание вычисляемых столбцов в таблице
|
|||
---|---|---|---|
#18+
Akina, AkinaПользовательские функции недопустимы. А если мне всё-таки понадобиться сделать расчёт, для которого в MySql нет стандартной функции? Как тогда быть? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 13:29 |
|
Создание вычисляемых столбцов в таблице
|
|||
---|---|---|---|
#18+
Vlad__i__mirА если мне всё-таки понадобиться сделать расчёт, для которого в MySql нет стандартной функции? Как тогда быть?CREATE VIEW. Или переопределённые данные и триггер. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 15:11 |
|
Создание вычисляемых столбцов в таблице
|
|||
---|---|---|---|
#18+
Akina, авторCREATE VIEW В представлении можно использовать пользовательские функции? авторИли переопределённые данные и триггер. Что значит переопределённые данные? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 17:09 |
|
Создание вычисляемых столбцов в таблице
|
|||
---|---|---|---|
#18+
Vlad__i__mirВ представлении можно использовать пользовательские функции?Запросто. Проблема удаления или изменения функции - за свой счёт. Vlad__i__mirЧто значит переопределённые данные?Данные, значение которых может быть однозначно вычислено на основании других данных. Потенциальная точка проблемы (рассогласования) - формально некорректные изменения могут привести к тому, что в поле переопределённых данных хранится значение, не равное такому вычисленному (скажем, при прямой корректировке такого значения, или при блокировании выполнения триггеров, которые поддерживают обновление такого значения при обновлении других данных). ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 20:40 |
|
Создание вычисляемых столбцов в таблице
|
|||
---|---|---|---|
#18+
Akina, AkinaПроблема удаления или изменения функции - за свой счёт. Что это значит? Для того чтобы удалить функцию нужно будет удалить представление её использующее? Нельзя будет просто изменить функцию? AkinaДанные, значение которых может быть однозначно вычислено на основании других данных. Это данные, которые возвратит триггер? Или что-то ещё? Я что-то подзапутался в вашем примере. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2019, 21:07 |
|
Создание вычисляемых столбцов в таблице
|
|||
---|---|---|---|
#18+
Vlad__i__mirЧто это значит? Для того чтобы удалить функцию нужно будет удалить представление её использующее?Наоборот. Изменение или удаление функции сделает вьюв либо сбойным, либо возвращающим чёрт-те что... Где это аукнется, когда обнаружится, и сколько причинит убытку - можно только догадываться. Vlad__i__mirЭто данные, которые возвратит триггер?Какой триггер? Ну думать же надо, что читаешь... ладно, вот пример. Есть таблица, в ней хранятся наименование предмета, вес одного предметов и количество предметов. В любой момент можно посчитать вес всех имеющихся предметов. Допустим, умножение у нас - очень долгая операция, а общий вес нужен часто. Как ускорить? Да просто в таблицу добавить поле общего веса и заполнить таким вычисленным значением. И брать готовое значение, не тратясь на вычисление каждый раз. Вот эти самые данные в этом добавленном поле и будут переопределёнными - потому чо могут быит посчитаны на основании значений других полей. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2019, 21:31 |
|
|
start [/forum/topic.php?fid=47&msg=39766469&tid=1829332]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 149ms |
0 / 0 |