Size: a a a

SqlCom.ru - Стиль жизни SQL

2020 August 24

А

Артем in SqlCom.ru - Стиль жизни SQL
Зачем нужна вообще эта блокировка?
источник

ПД

Павлов Дмитрий... in SqlCom.ru - Стиль жизни SQL
Артем
Зачем нужна вообще эта блокировка?
Таблица заказов
Каждая позиция заказа одобривается вышестоящим человеком, после чего изменения в нее вносить нельзя
источник

А

Артем in SqlCom.ru - Стиль жизни SQL
Павлов Дмитрий
Таблица заказов
Каждая позиция заказа одобривается вышестоящим человеком, после чего изменения в нее вносить нельзя
Тогда действительно маркой.  Но рассчитывай, что через пол года, это скорее всего будет автоматом. Ну и хистори запросов неплохо, конечно.
источник

ПД

Павлов Дмитрий... in SqlCom.ru - Стиль жизни SQL
Артем
Тогда действительно маркой.  Но рассчитывай, что через пол года, это скорее всего будет автоматом. Ну и хистори запросов неплохо, конечно.
Маркой - в смысле признак ставить и проверять потом?
Что значит автоматом?
источник

А

Артем in SqlCom.ru - Стиль жизни SQL
Павлов Дмитрий
Маркой - в смысле признак ставить и проверять потом?
Что значит автоматом?
Битовое поле - марка\флаг.
Когда чувак тыкает "подтверждение" меняешь его на 1, записываешь ид сотрудника и остальную доп инфу, типа времени.
Автоматом - в смысле, что если у тебя не строительная фирма с одним заказом в пол года, твой вышестоящий сотрудник заманается и мелкие заказы начнут апрувить автоматом
источник

ПД

Павлов Дмитрий... in SqlCom.ru - Стиль жизни SQL
Артем
Битовое поле - марка\флаг.
Когда чувак тыкает "подтверждение" меняешь его на 1, записываешь ид сотрудника и остальную доп инфу, типа времени.
Автоматом - в смысле, что если у тебя не строительная фирма с одним заказом в пол года, твой вышестоящий сотрудник заманается и мелкие заказы начнут апрувить автоматом
Благодарю за развернутый ответ
источник

ПД

Павлов Дмитрий... in SqlCom.ru - Стиль жизни SQL
Буду думать как лучше сделать
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Павлов Дмитрий
Подскажите, пожалуйста, как правильно организовать редактирование данных в таблице.
Например у строки есть признак блокировки редактирования и если там 1, то строку редактировать нельзя.
Правильно ли я понимаю, что нужно
в транзакции
1 делать селект,
2 проверять признак блокировки
3 если ок, то апдейт, если нет, то отбой
Да, но SELECT первый делать бессмысленно, надо делать SELECT ... FOR UPDATE.

Другой вариант -- делать сразу UPDATE (один в транзакции) и в его WHERE добавить проверку условия, что запись не заблокирована (или наоборот, что заблокирована,тут я не понял логику)
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
VlIvYur
Можно сразу в where вписать "блокировка=0"
Правда в этом случае ты не будешь знать причину необновления данных
Можно проверить rowсount  после обновления, и если он 0, то это -- оно самое.
Полагаю, что специально UPDATE-ить несуществующие записи они не будут по другой какой-то логике.
источник

А

Артем in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
Можно проверить rowсount  после обновления, и если он 0, то это -- оно самое.
Полагаю, что специально UPDATE-ить несуществующие записи они не будут по другой какой-то логике.
А надо ли ему вообще эта ошибка?
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Артем
А надо ли ему вообще эта ошибка?
Что там ему надо, пусть сам решает.
источник
2020 August 25

ПД

Павлов Дмитрий... in SqlCom.ru - Стиль жизни SQL
Спасибо за ответы и варианты
источник

ПД

Павлов Дмитрий... in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
Да, но SELECT первый делать бессмысленно, надо делать SELECT ... FOR UPDATE.

Другой вариант -- делать сразу UPDATE (один в транзакции) и в его WHERE добавить проверку условия, что запись не заблокирована (или наоборот, что заблокирована,тут я не понял логику)
Правильно я понимаю, если таблица согласования отдельна от таблицы заказов, то  update ... where уже не написать?
У меня не получилось
источник

k

karb0f0s in SqlCom.ru - Стиль жизни SQL
можно так:
if exists (select from блокировка) update ...
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Павлов Дмитрий
Правильно я понимаю, если таблица согласования отдельна от таблицы заказов, то  update ... where уже не написать?
У меня не получилось
Да, правильно. Я думал, что одна таблица
источник

ПД

Павлов Дмитрий... in SqlCom.ru - Стиль жизни SQL
karb0f0s
можно так:
if exists (select from блокировка) update ...
Отлично, спасибо, то что нужно
источник

ПД

Павлов Дмитрий... in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
Да, правильно. Я думал, что одна таблица
Да, я тоже только утром это увидел
источник

Y

Yura in SqlCom.ru - Стиль жизни SQL
Всем привет. У меня есть таблица Student(id,name,age)
Я хочу сделать процедуру, которая принимает стрінг как квери в селект
exect myProcedure 'id,age'
и процедура должна вивести только id,age

Тоесть должно виполниться select id,age
create procedure myProcedure @Query  varchar(max)
AS
select
 @Query
from mytable
так не канает
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Yura
Всем привет. У меня есть таблица Student(id,name,age)
Я хочу сделать процедуру, которая принимает стрінг как квери в селект
exect myProcedure 'id,age'
и процедура должна вивести только id,age

Тоесть должно виполниться select id,age
create procedure myProcedure @Query  varchar(max)
AS
select
 @Query
from mytable
так не канает
Тебе динамик скуель нужен
источник

E

Evivan in SqlCom.ru - Стиль жизни SQL
хотел примерчик скинуть, но почему-то не опубликовался пост
источник