Forum Użytkownikow Subiekt GT
InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: kloskak w Marzec 29, 2019, 11:39:04
-
Witam,
Chciałbym aktualizować ceny w subiekcie za pośrednictwem exela. Wpadłem na pomysł by w exelu generować zapytania UPDATE, wklejać je do SQL Managmenta. Każdy wiersz w exelu tworzy swojego UPDATEa o odpowiednim ID. Czy takie rozwiązanie jest względnie bezpieczne. Chodzi mi dokładnie o poniższy kod:
UPDATE
tw_Cena
SET
tc_CenaNetto1 = '104.20',
tc_CenaBrutto1 = '128.16'
WHERE
tc_IdTowar = '1';
UPDATE
tw_Cena
SET
tc_CenaNetto1 = '40',
tc_CenaBrutto1 = '49.2'
WHERE
tc_IdTowar = '2';
Pozdrawiam,
-
Na pewno nie będzie bezpieczne póki zamiast integerów i money będziesz podawał stringi.
Wypadałoby jeszcze zaktualizować pozostałe pola typu zysk, narzut, marża etc.
Zrób kopię bazy i potestuj sobie :)
-
Dzięki, a to nie jest tak że to baza narzuca typ na money?
Jeśli zrobić tak:
UPDATE
tw_Cena
SET
tc_CenaNetto1 = 't',
tc_CenaBrutto1 = '140.10'
WHERE
tc_IdTowar = '5';
Dostajesz błąd:
Cannot convert a char value to money. The char value has incorrect syntax.
Jak Twoim zdaniem powinno wyglądać to zapytanie?
-
Nie zrozumiałeś.
Skoro pole jest typu money to nie piszesz
SET tc_CenaNetto1 = '104.20'
tylko
SET tc_CenaNetto1 = 104.20
'102.20' to ciąg znaków, a nie liczba
-
Dzięki
-
Serwer sobie po cichu skonwertuje (tzw. implicit conversion) tam gdzie może stringi na integery czy money ale po co ryzykować, że ci jakiś potworek wyjdzie?