UPDATE w wykresie
Moderator: mikey
UPDATE w wykresie
Witam
Czy da się jakoś wywołać polecenie UPDATE bezpośrednio z poziomu wykresu?
Można oczywiście UPDATE zaszyć w procedurze i spod wykresu wywoływać procedurę ale czy można to zrobić w szybszy sposób, tzn. bez pomocy procedur?
Wpisując kod jawnie otrzymuję komunikat:
"Wykonanie operacji okazało się niemożliwe.
Znaleziono niedozwoloną instrukcję UPDATE."
Ha, tak sobie myślę, że mój problem nawet za pomocą procedury nie będzie łatwo rozwiązać.
Chiałbym mianowicie zaznaczyć sobie kilka towarów i wszystkim zaznaczonym za jednym zamachem zmienić nazwę na 'ABC'.
Macie pomysł jak to zrobić?
W jawnym updatecie byłoby prosto:
@PAR ?@HS50|ZazGUID|&ZazGUID:REG= @? PAR@
@PAR ?@S10|Par_Nazwa|Nazwa:REG= @? PAR@
UPDATE cdn.TwrKarty
SET Twr_Nazwa = ??Par_Nazwa
FROM cdn.TwrKarty
JOIN cdn.WkrZaznaczenia2 ON Twr_GIDTyp=WKZ2_GIDTyp AND Twr_GIDNumer=WKZ2_GIDNumer
WHERE WkZ2_GUID=??ZazGUID
cygan
Czy da się jakoś wywołać polecenie UPDATE bezpośrednio z poziomu wykresu?
Można oczywiście UPDATE zaszyć w procedurze i spod wykresu wywoływać procedurę ale czy można to zrobić w szybszy sposób, tzn. bez pomocy procedur?
Wpisując kod jawnie otrzymuję komunikat:
"Wykonanie operacji okazało się niemożliwe.
Znaleziono niedozwoloną instrukcję UPDATE."
Ha, tak sobie myślę, że mój problem nawet za pomocą procedury nie będzie łatwo rozwiązać.
Chiałbym mianowicie zaznaczyć sobie kilka towarów i wszystkim zaznaczonym za jednym zamachem zmienić nazwę na 'ABC'.
Macie pomysł jak to zrobić?
W jawnym updatecie byłoby prosto:
@PAR ?@HS50|ZazGUID|&ZazGUID:REG= @? PAR@
@PAR ?@S10|Par_Nazwa|Nazwa:REG= @? PAR@
UPDATE cdn.TwrKarty
SET Twr_Nazwa = ??Par_Nazwa
FROM cdn.TwrKarty
JOIN cdn.WkrZaznaczenia2 ON Twr_GIDTyp=WKZ2_GIDTyp AND Twr_GIDNumer=WKZ2_GIDNumer
WHERE WkZ2_GUID=??ZazGUID
cygan
-
- Posty: 292
- Rejestracja: 22 kwie 2008, 20:08
- Rola: Konsultant CDN XL
- Lokalizacja: Kraków
- Kontakt:
Re: UPDATE w wykresie
Nie,
ale możesz (tylko to jest niebezpieczne, i na pewno nie zaliczane do dobrych praktyk) zrobić procedurę która wykonuje zapytanie podane jako parametr i wywoływać sobie
EXEC [dbo].[WykonajZapytanie]"UPDATE ....."
ale możesz (tylko to jest niebezpieczne, i na pewno nie zaliczane do dobrych praktyk) zrobić procedurę która wykonuje zapytanie podane jako parametr i wywoływać sobie
EXEC [dbo].[WykonajZapytanie]"UPDATE ....."
--
Pozdrawiam
Przemysław Lepiarz
CEO, Partner - Futuriti
https://futuriti.pl
https://blog.futuriti.pl
Chcesz wdrażać, serwisować i rozwijać Comarch ERP? Nasze rekrutacje: https://futuriti.pl/kariera
Pozdrawiam
Przemysław Lepiarz
CEO, Partner - Futuriti
https://futuriti.pl
https://blog.futuriti.pl
Chcesz wdrażać, serwisować i rozwijać Comarch ERP? Nasze rekrutacje: https://futuriti.pl/kariera
Re: UPDATE w wykresie
oj nie mogę zrobić sobie takiej procedury
dlatego że xl chyba po prostu sprawdza istnienie słowa "UPDATE" w definicji wykresu i jeśli takie słowo istniej to nie pozwala nawet tej definicji zapisać,
czyli nie zapiszesz nawet tak niegroznego wykresu:
SELECT 1 as lp, twr_kod AS abcUPDATEdef FROM cdn.twrkarty
Pozdrawiam
cygan
dlatego że xl chyba po prostu sprawdza istnienie słowa "UPDATE" w definicji wykresu i jeśli takie słowo istniej to nie pozwala nawet tej definicji zapisać,
czyli nie zapiszesz nawet tak niegroznego wykresu:
SELECT 1 as lp, twr_kod AS abcUPDATEdef FROM cdn.twrkarty
Pozdrawiam
cygan
Re: UPDATE w wykresie
Brak możliwości stworzenia wykresu z updatem jest celowe - chodzi przede wszystkim o bezpieczeństwo - nie byłoby zbyt dobrze gdyby każdy operator miał możliwość wywołania update'a na bazie z poziomu XLa. Stąd trzeba to robić na około poprzez procedurę serwerową.
Re: UPDATE w wykresie
wszystko pięknie tyle że..taka możliwość chyba istnieje
wystarczyło banalne:
declare @par1 varchar (100)
set @par1 = 'up' + 'date cdn.twrkarty set twr_nazwa = 123 where twr_kod = 123'
EXEC ( @par1 )
wystarczyło banalne:
declare @par1 varchar (100)
set @par1 = 'up' + 'date cdn.twrkarty set twr_nazwa = 123 where twr_kod = 123'
EXEC ( @par1 )
Re: UPDATE w wykresie
Hej,
odgrzewam starego kotleta.
Co robię nie tak jeśli po czymś takim:
EXEC ( @par1 )
otrzymuję komunikat "Nie przyznano uprawnienia UPDATE wobec obiektu „TraNag” w bazie danych „CDNXL_Baza” w schemacie „CDN”."
odgrzewam starego kotleta.
Co robię nie tak jeśli po czymś takim:
Kod: Zaznacz cały
@PAR ?@HS50|ZazGUID|&ZazGUID:REG= @? PAR@
declare @par1 varchar (300)
set @par1 = 'up'+'date'+' trn1
SET trn1.TrN_KarNumer = 2
FROM cdn.TraNag AS trn1
inner join cdn.WkrZaznaczenia2 (nolock) on wkz2_GidTyp = trn1.trn_gidtyp and wkz2_gidnumer = trn1.trn_gidnumer
where trn1.TrN_GIDTyp=2033 AND wkz2_guid = '+ ??ZAZGUID
otrzymuję komunikat "Nie przyznano uprawnienia UPDATE wobec obiektu „TraNag” w bazie danych „CDNXL_Baza” w schemacie „CDN”."
- viesiek1
- Posty: 416
- Rejestracja: 03 maja 2011, 18:40
- Rola: Administrator CDN XL
- Wersja: 2023
- Lokalizacja: Bielsko-Biała
- Kontakt:
Re: UPDATE w wykresie
Spróbuj dodać uprawnienia do CDNRaport:
Wiesław Świergała
tel: +48 33 829 54 50
e-mail: wieslaw.swiergala@hydro.com.pl
http://www.hydro.com.pl
tel: +48 33 829 54 50
e-mail: wieslaw.swiergala@hydro.com.pl
http://www.hydro.com.pl
Re: UPDATE w wykresie
Dziękuję, lecz nie mam pojęcia jak mam dodać wiersz uprawnienia UPDATE tak aby w kolumnie Grantor był CDN
- viesiek1
- Posty: 416
- Rejestracja: 03 maja 2011, 18:40
- Rola: Administrator CDN XL
- Wersja: 2023
- Lokalizacja: Bielsko-Biała
- Kontakt:
Re: UPDATE w wykresie
Zaznacz check box przy "Grant", zapisz i wejdź ponownie.
Wiesław Świergała
tel: +48 33 829 54 50
e-mail: wieslaw.swiergala@hydro.com.pl
http://www.hydro.com.pl
tel: +48 33 829 54 50
e-mail: wieslaw.swiergala@hydro.com.pl
http://www.hydro.com.pl
Re: UPDATE w wykresie
Ponownie odgrzewam.
co zrobić gdy moja nowa procedura nie ma nic w Permissions?
co zrobić gdy moja nowa procedura nie ma nic w Permissions?
Kod: Zaznacz cały
A otrzymuję komunikat "Nie przyznano uprawnienia EXECUTE wobec obiektu „ZmianaTypuKonta” w bazie danych „ERPXL_SZKOŁA” w schemacie „CDN”. (Wewnętrzny)
- Załączniki
-
- Zrzut ekranu 2023-02-22 133158.jpg (36.3 KiB) Przejrzano 1690 razy