«ORA-01747: неверная спецификация user.table.column, table.column или column» - PullRequest
0 голосов
/ 10 марта 2011

Я пытаюсь выполнить этот запрос к связанному серверу Oracle и получаю следующую ошибку: я знаю, что мой запрос искажен, но я не мог понять, где и как.

DECLARE @CREDIT_CUST_SQL NVARCHAR(1000) = NULL;
SET @CREDIT_CUST_SQL = 'SELECT 
                           cu.[ST_CD]
                          ,cu.[SRT_CD]
                          ,cu.[TITLE]
                          ,cu.[FNAME]
                          ,cu.[INIT]
                          ,cu.[LNAME]
                          ,cu.[ADDR1]
                          ,cu.[ADDR2]
                          ,cu.[CITY]
                          ,cu.[COUNTRY]
                          ,cu.[ZIP_CD]
                          ,cu.[HOME_PHONE]
                          ,cu.[BUS_PHONE]
                          ,cu.[EXT]
                        FROM [AR].[CUST] cu, 
                             [CUSTOM].[CUST_OTHER] co, 
                             [AR].[CUST_CR] cc
                        WHERE cu.CUST_CD = co.CUST_CD 
                            AND cu.CUST_CD = cc.CUST_CD
                            AND cu.DOB IS NOT NULL'



EXECUTE (@CREDIT_CUST_SQL) AT LIVE_BD;

И я получаю эту ошибку,

"ORA-01747: неверная спецификация user.table.column, table.column или column"

Любая идея, почему это происходит.Благодаря.

1 Ответ

4 голосов
/ 10 марта 2011

Ваш код выглядит как SQL Server

Не используйте скобки ( [ ] ), чтобы заключить имена столбцов в кавычки, просто оставьте это как для заглавных буквдопустимые идентификаторы или используйте (стандарт SQL) двойные кавычки для недействительных идентификаторов или заглавных.

Например:

SELECT 
                       cu.ST_CD
                      ,cu.SRT_CD
                      ,cu.TITLE
                      ,cu.FNAME
                      ,cu.INIT
                      ,cu.LNAME
                      ,cu.ADDR1
                      ,cu.ADDR2
                      ,cu.CITY
                      ,cu.COUNTRY
                      ,cu.ZIP_CD
                      ,cu.HOME_PHONE
                      ,cu.BUS_PHONE
                      ,cu.EXT
                    FROM AR.CUST cu, 
                         CUSTOM.CUST_OTHER co, 
                         AR.CUST_CR cc
                    WHERE cu.CUST_CD = co.CUST_CD 
                        AND cu.CUST_CD = cc.CUST_CD
                        AND cu.DOB IS NOT NULL
...