sql >> Database teknologi >  >> RDS >> Oracle

Kør SQL Server Stored Procedure via Database Link fra Oracle

Det er faktisk muligt at kalde lagrede procedurer eller funktioner via dg4odbc. Jeg testede Database Gateway til MS SQL Server , og den understøttede alligevel ikke Sql Server-tabel-/skalarværdi-funktioner. Begge skal stole på DBMS_HS_PASSTHROUGH.EXECUTE_IMMEDIATE for denne funktionalitet. Vi havde brug for at hente id'et for indsatte rækker:

DECLARE
  RESULT NUMBER(8,2);
  val  INTEGER;
  c    INTEGER;
  nr   INTEGER;
BEGIN

  RESULT := [email protected]('select SCOPE_IDENTITY();');
  c := [email protected]; 
  [email protected](c, 'select @@IDENTITY');
  LOOP
    nr := [email protected](c);
    EXIT WHEN nr = 0;
    [email protected](c, 1, val);
  END LOOP;  
  [email protected](c); 
  DBMS_OUTPUT.PUT_LINE('retrieved: ' || val);
END;


  1. PostgresQL SQL:Konvertering af resultater til array

  2. Konverter 'datetime2' til 'datetime' i SQL Server (T-SQL-eksempler)

  3. MySQL ændre tabel og konvertere data fra tekst til datetime

  4. Bedste databasefelttype for en URL