OPENQUERY

โ€ป ์ฃผ์˜์‚ฌํ•ญ

  • OPENQUERY๋กœ ์ „๋‹ฌํ•˜๋Š” ์ฟผ๋ฆฌ๋Š” ์—ฐ๊ฒฐ๋œ ์„œ๋ฒ„์˜ ์ฟผ๋ฆฌ ๋ฌธ๋ฒ•์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (ex. MS์˜ T-SQL์„ Oracle DB์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ)

  • MSSQL ์—์„œ์˜ ๋นˆ ๋ฌธ์ž์—ด('')์€ ์˜ค๋ผํด์—์„œ NULL๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

FROM OPENQUERY

SELECT

SELECT [์ปฌ๋Ÿผ๋ช…] FROM OPENQUERY([์—ฐ๊ฒฐ๋œ ์„œ๋ฒ„๋ณ„์นญ], 'SELECT [์ปฌ๋Ÿผ๋ช…] FROM [ํ…Œ์ด๋ธ”]')

--ex 1)
SELECT * FROM OPENQUERY(ORCL, 'SELECT * FROM BA030T')
--ex 2)
SELECT * FROM OPENQUERY(ORCL, 'SELECT itemcd, itemnm FROM BA030T WHERE useyn = ''Y''')

SELECT : ์™ธ๋ถ€ ๋ณ€์ˆ˜ ์ฒ˜๋ฆฌ ์˜ˆ์‹œ

DECLARE @v_useyn varchar(1) = 'Y'

DECLARE @v_query nvarchar(1000) = '
    SELECT * FROM OPENQUERY(ORCL, ''SELECT itemcd, itemnm FROM BA030T WHERE useyn = ''''' + @v_useyn + ''''''')'

PRINT @v_query
EXEC (@v_query)

DELETE

INSERT INTO (์—ฐ๊ฒฐ๋œ ์„œ๋ฒ„ โ†’ MSSQL)

INSERT INTO OPENQUERY

INSERT INTO (MSSQL โ†’ ์—ฐ๊ฒฐ๋œ ์„œ๋ฒ„)

UPDATE OPENQUERY

UPDATE

Execute Procedure

linked server to oracle

Difference

ORACLE โ†” MS SQL

Oracle

MS SQL

||

+

FROM DUAL

FROM์ ˆ ์‚ญ์ œ

LENGTH

LEN

MOD

%

SYSDATE

GETDATE()

NVL(a, b)

ISNULL(a, b)

TO_CHAR(๋‚ ์งœ, 'YYYY-MM-DD')

CONVERT(VARCHAR(10), ๋‚ ์งœ, 120)

TO_DATE(๋ฌธ์ž์—ด)

CONVERT(DATETIME, ๋ฌธ์ž์—ด)

ETC

Oracle SQL Developer ๋‹ค์šด๋กœ๋“œ (ํ•„์š” ์‹œ)

Last updated