hallo,
I have PostgreSQL in Linux. I use it with pgAdminII
in Wondows2000.
how can I transport Procedural and Function from MS SQL Enterprise Manage to PostgreSQL. Thanks!!! rong CREATE FUNCTION dbo.getICNroh (@Bogen_Nr smallint) RETURNS smallint AS BEGIN DECLARE @myRet int --Rohwert der Skala 1 (ICN) ermitteln DECLARE @step01a smallint DECLARE @step02a smallint DECLARE @step01b smallint DECLARE @step02b smallint SELECT @step01a = Antwort FROM PAI_ANTWORTEN WHERE ITEM_NR = 75 AND Bogen_Nr = @Bogen_Nr SELECT @step01b = Antwort FROM PAI_ANTWORTEN WHERE ITEM_NR = 115 AND Bogen_Nr = @Bogen_Nr SELECT @step02a = Antwort FROM PAI_ANTWORTEN WHERE ITEM_NR = 4 AND Bogen_Nr = @Bogen_Nr SELECT @step02b = Antwort FROM PAI_ANTWORTEN WHERE ITEM_NR = 44 AND Bogen_Nr = @Bogen_Nr SELECT @myRet = ABS(@Step01a - @step01b) + ABS(@Step02a - @step02b) --Wert zurückgeben RETURN @myRet END CREATE PROCEDURE sp_PAI_Werte @Bogen_Nr int AS create table #tmpPAI_Rohwerte (Skala_Nr smallint primary key, Rohwert smallint) --Rohwerte ermitteln (außer Skala 1 ICN) INSERT into #tmpPAI_Rohwerte SELECT dbo.PAI_SKALEN.Skala_Nr, sum((CONVERT(tinyint, dbo.PAI_ANTWORTEN.Antwort) + dbo.PAI_KEYcalc.toAdd) * dbo.PAI_KEYcalc.Faktor) AS Rohwert FROM dbo.PAI_SKALEN INNER JOIN dbo.PAI_ITEMinSKALA ON dbo.PAI_SKALEN.Skala_Nr = dbo.PAI_ITEMinSKALA.Skala_Nr INNER JOIN dbo.PAI_ITEMS ON dbo.PAI_ITEMinSKALA.Item_Nr = dbo.PAI_ITEMS.Item_Nr INNER JOIN dbo.PAI_ANTWORTEN ON dbo.PAI_ITEMS.Item_Nr = dbo.PAI_ANTWORTEN.Item_Nr INNER JOIN dbo.PAI_KEYcalc ON dbo.PAI_ITEMinSKALA.keyDir = dbo.PAI_KEYcalc.keyDir WHERE (dbo.PAI_ANTWORTEN.Antwort <> ' ') and PAI_Antworten.Bogen_Nr = @Bogen_Nr GROUP BY dbo.PAI_SKALEN.Skala_Nr --ICN Rohwert einfügen IF EXISTS(SELECT * from #tmpPAI_Rohwerte WHERE Skala_Nr = 1) UPDATE #tmpPAI_Rohwerte SET Rohwert = dbo.getICNroh(@Bogen_Nr) WHERE Skala_Nr = 1 ELSE INSERT INTO #tmpPAI_Rohwerte (Skala_Nr, Rohwert) VALUES(1,dbo.getICNroh(@Bogen_Nr)) --T-Werte bereitstellen SELECT dbo.PAI_SKALEN.Skala_Nr, dbo.PAI_SKALEN.Kuerzel_D AS Kuerzel, dbo.PAI_SKALEN.Label_D AS Label, #tmpPAI_Rohwerte.rohwert as rohwert, ROUND(50 + (#tmpPAI_Rohwerte.rohwert - dbo.PAI_SKALEN.M) *10 / dbo.PAI_SKALEN.SD, 0) AS TWert FROM dbo.PAI_SKALEN LEFT OUTER JOIN #tmpPAI_Rohwerte ON dbo.PAI_SKALEN.Skala_Nr = #tmpPAI_Rohwerte.skala_nr GO |