1
我想創建使用SQL表和表從鏈接的Oracle數據庫&視圖如下MS SQL鏈接Oracle服務器的連接條件
SELECT empv.FULL_NAME,
CAST(C_Date + ' ' + SUBSTRING(C_Time, 1, 2) + ':' + SUBSTRING(C_Time, 3, 2) + ':'
+ SUBSTRING(C_Time, 5, 2) AS DATETIME) AS "PUNCH_TIME",
tT.C_Name "MACHINE_NAME",
CASE
WHEN LEN(L_UID) < 4 THEN RIGHT('0000' + CAST(L_UID AS VARCHAR(4)), 4)
ELSE CAST(L_UID AS VARCHAR(10))
END AS "EMPLOYEE_NUMBER",
CASE L_MODE
WHEN 1 THEN 0
WHEN 2 THEN 1
ELSE L_MODE
END AS "PUNCH_TYPE",
CASE L_RESULT
WHEN 0 THEN 'S'
ELSE 'E'
END AS "PUNCH_RESULT"
FROM tEnter T,
tTerminal tT,
[PRODBAK]..APPS.XXFPEMPVIEW empv
WHERE 1 = 1
AND tT.L_ID = T.L_TID
AND L_UID <> -1
AND empv.EMPLOYEE_NUMBER = T.L_UID
/* AND CAST(GETDATE() AS DATE) BETWEEN empv.effective_start_date and COALESCE(effective_end_date, CAST(getdate() as date))*/
AND CAST(C_Date + ' ' + SUBSTRING(C_Time, 1, 2) + ':' + SUBSTRING(C_Time, 3, 2) + ':' + SUBSTRING(C_Time, 5, 2) AS DATETIME)
BETWEEN empv.effective_start_date AND COALESCE(effective_end_date, CAST(GETDATE() AS DATE))
AND CAST(C_Date + ' ' + SUBSTRING(C_Time, 1, 2) + ':' + SUBSTRING(C_Time, 3, 2) + ':' + SUBSTRING(C_Time, 5, 2) AS DATETIME)
> '01/01/2016 00:00:00 AM'
GO
現在我有一些問題,MS SQL表具有SQL部分很少用戶標識值(L_UID)與鏈接的Oracle表可用的EMPLOYEE_NUMBER列值不匹配。這導致腳本運行很長時間,最終由於未找到值而放棄。我如何克服這種情況?我對MS SQL非常陌生,JOIN語法在這個時候對我來說很陌生。
您的解決方案的工作!謝謝 –