Искате ПРОМЕНЯВАНЕ НА ТАБЛИЦА ... ДОБАВЯНЕ НА КОЛОНА
последвано от АКТУАЛИЗАЦИЯ
.
Първоначално казах ALTER TABLE ... ADD COLUMN ... USING
но това беше погрешно по две причини. ДОБАВЯНЕ НА КОЛОНА
приема DEFAULT
не ИЗПОЛЗВАНЕ
- и не можете да го направите с едно преминаване, защото нито DEFAULT
израз, нито USING
изразът може да не препраща към други колони.
Така че трябва да направите:
ALTER TABLE tablename ADD COLUMN colname varchar;
UPDATE tablename SET colname = ( CASE WHEN othercol < 0 THEN 'Credit' ELSE 'Debit' END );
Помислете внимателно дали нулата трябва да бъде „Дебит“ или „Кредит“ и коригирайте CASE
съответно.
За закръгляване използвайте round(amount,2)код>
. Във въпроса ви няма достатъчно подробности, за да съм сигурен как; вероятно от АКТУАЛИЗАЦИЯ
добавяне на временната таблица с АКТУАЛИЗИРАНЕ на таблицата SET сума =кръг (количество,2)
но без контекста е трудно да се разбере дали това е правилно. Това твърдение необратимо изхвърля информация така че трябва да се използва само върху копие на данните.