04 czerwca 2021

[SQL] przykład kursora

 Przykład kursora w mssql:


DECLARE kursor CURSOR FOR
SELECT Ename, Sal FROM Emp WHERE Sal > 200
DECLARE @nazwisko VARCHAR(50), @pensja INT
PRINT 'Pracownicy o pensji wyższej niż 200:'
OPEN kursor 
FETCH NEXT FROM kursor INTO @nazwisko, @pensja 
WHILE @@FETCH_STATUS = 0
   BEGIN 
      PRINT @nazwisko + ' ' + Cast(@pensja As Varchar)
      FETCH NEXT FROM kursor INTO @nazwisko, @pensja 
   END 
CLOSE kursor 
DEALLOCATE kursor

23 kwietnia 2021

[SQL] Czyszczenie pliku tempdb w sql server

Poniżej przykład:

--zwalnia zasoby tempdb
DBCC FREESYSTEMCACHE ('ALL')
DBCC FREEPROCCACHE
--czysci dany plik

USE [tempdb]
GO
DBCC SHRINKFILE (N'temp6' , EMPTYFILE)
GO

--kasuje dany plik
USE [tempdb]
GO
ALTER DATABASE [tempdb]  REMOVE FILE [temp6]
GO

18 marca 2021

[Comarch ERP XL] Kod Kontrahenta z Zapisu księgowego

 Zapytanie wyciągające kh z zapisów księgowych


SELECT distinct CDN.NazwaObiektu(TrN_GIDTyp,trn_gidnumer,0,2)AS dok, (select knt_akronim from cdn.kntkarty where knt_gidnumer = TrN_KntNumer) KodKH, 

case when trn_nettor =0 then TrN_NettoP else  TrN_NettoR end KwotaNetto , (select TrV_DataOP from cdn.travat where trv_gidnumer = TrN_GIDNumer) DataVat, 

(select TrV_StawkaPod from cdn.travat where trv_gidnumer = TrN_GIDNumer) StawkaPod

FROM CDN.dekrety A

LEFT OUTER JOIN CDN.DziennikElem B ON A.DT_GIDNumer = B.DEL_GIDNumer

AND A.DT_GIDLp = B.DEL_GIDLp

LEFT OUTER JOIN CDN.dziennik C ON B.DEL_GIDNumer = C.DZK_GIDNumer

LEFT OUTER JOIN CDN.dekrety D ON D.DT_GIDNumer = A.DT_GIDNumer

AND D.DT_GIDLp = A.DT_GIDLp

AND D.DT_Waluta = A.DT_Waluta

AND D.DT_DC = 3 - A.DT_DC


LEFT OUTER JOIN CDN.Zrodla ON CDN.Zrodla.ZRO_DTNumer = a.DT_GIDNumer

AND CDN.Zrodla.ZRO_DTLp = a.DT_GIDLp

LEFT OUTER JOIN CDN.Predekrety ON CDN.Predekrety.PDT_GIDTyp = CDN.Zrodla.ZRO_TRNTyp

AND CDN.Predekrety.PDT_GIDNumer = CDN.Zrodla.ZRO_TRNNumer

LEFT OUTER JOIN CDN.TraNag ON CDN.TraNag.TrN_GIDTyp = CDN.Predekrety.PDT_GIDTyp

AND CDN.TraNag.TrN_GIDNumer = CDN.Predekrety.PDT_GIDNumer



WHERE  DEL_DokumentZrodlowy = 'demo'

26 lutego 2021

[ERP XL] Wyszukanie adresu korenspondencyjnego

 Po niżej zapytanie na znalezienie adresu korenspodencyjnego, nalezy powiazac z knaadresy


select 1 from  cdn.obiektydomyslne where ObD_DomNumer = KnA_GIDNumer AND KnA_KntNumer = ObD_ObiNumer