Доступ к базе данных Добавление запроса Недопустимый вызов процедуры - PullRequest
0 голосов
/ 27 января 2019

Я пытаюсь выполнить запрос на добавление, который до сих пор работал нормально (я запускаю запрос каждый месяц).Теперь я получаю сообщение об ошибке «Недопустимый вызов процедуры», хотя ничего не изменилось.Базовый запрос select выполняется нормально.

Ниже приведен код запроса append -

INSERT INTO 
    Audit_Vsurvey_All_Data_t 
    ( 
        Department, 
        LAST_NAME, 
        FIRST_NAME, 
        [Last Name], 
        [First Name], 
        [CPM ID], 
        [HP Author], 
        Provider, 
        [Chart ID], 
        Audit_Date, 
        Admit_Date, 
        [Question Group], 
        HP_Contains_Allergies, 
        HP_Contains_Assessment, 
        HP_Contains_Chief_Complaint, 
        HP_Vitals, 
        HP_Contains_Family_History, 
        HP_Contains_HX_Present_Illness, 
        HP_Contains_Diagnostic_Tests, 
        HP_Contains_Medications, 
        HP_Contains_Medical_History, 
        HP_Contains_Surgical_History, 
        HP_Contains_Review_Of_Systems, 
        HP_Contains_Social_History, 
        HP_Contains_Treatment_Plan, 
        HP_Documented_In_30_Days, 
        Charted_Within_24
    ) 
SELECT 
    [TT2870-LA Active].Department_Name & " " & [TT2870-LA Active].SECTION_NAME AS Department, 
    [TT2870-LA Active].LAST_NAME, 
    [TT2870-LA Active].FIRST_NAME, 
    [Vsurvey data to NameSplit].[Last Name],
    [Vsurvey data to NameSplit].[First Name],
    [TT2870-LA Active].[CPM ID], 
    [Vsurvey data to NameSplit].Author, 
    [Vsurvey data to NameSplit].Provider, 
    [Vsurvey data to NameSplit].[Chart ID], 
    [Vsurvey data to NameSplit].Audit_Date, 
    [Vsurvey data to NameSplit].Admit_Date, 
    [Vsurvey data to NameSplit].[Question Group], 
    [Vsurvey data to NameSplit].[H&P contains allergies], 
    [Vsurvey data to NameSplit].[H&P contains assessment/impression], 
    [Vsurvey data to NameSplit].[H&P contains chief complaint], 
    [Vsurvey data to NameSplit].[H&P contains current physical examination], 
    [Vsurvey data to NameSplit].[H&P contains family history], 
    [Vsurvey data to NameSplit].[H&P contains history of present illness], 
    [Vsurvey data to NameSplit]. [H&P contains labs/diagnostic test results], 
    [Vsurvey data to NameSplit].[H&P contains medications], 
    [Vsurvey data to NameSplit].[H&P contains past medical history], 
    [Vsurvey data to NameSplit].[H&P contains past surgical history], 
    [Vsurvey data to NameSplit].[H&P contains review of systems], 
    [Vsurvey data to NameSplit].[H&P contains social history], 
    [Vsurvey data to NameSplit].[H&P contains the treatment plan], 
    [Vsurvey data to NameSplit].[H&P is was documented less than 30 days from admission date_], 
    [Vsurvey data to NameSplit].[H&P present within 24 hours of admission] 
FROM 
    [Vsurvey data to NameSplit] LEFT JOIN [TT2870-LA Active] ON 
    [Vsurvey data to NameSplit].[Last Name] = [TT2870-LA Active].LAST_NAME AND 
    [Vsurvey data to NameSplit].LastSplit = [TT2870-LA Active].FIRST_NAME 
WHERE
    [Vsurvey data to NameSplit].Audit_Date Between #10/1/2018# And #12/31/2018#

Есть ли способ узнать причину ошибки, глядя на приведенное выше?код, так как я не могу опубликовать данные.

Большое спасибо!

1 Ответ

0 голосов
/ 27 января 2019

Форматирование кода SQL с соответствующими отступами выявляет пару странностей, которые я аннотировал в приведенном ниже коде:

INSERT INTO 
    Audit_Vsurvey_All_Data_t 
    ( 
        Department, 
        LAST_NAME, 
        FIRST_NAME, 
        [Last Name], 
        [First Name], 
        [CPM ID], 
        [HP Author], 
        Provider, 
        [Chart ID], 
        Audit_Date, 
        Admit_Date, 
        [Question Group], 
        HP_Contains_Allergies, 
        HP_Contains_Assessment, 
        HP_Contains_Chief_Complaint, 
        HP_Vitals, 
        HP_Contains_Family_History, 
        HP_Contains_HX_Present_Illness, 
        HP_Contains_Diagnostic_Tests, 
        HP_Contains_Medications, 
        HP_Contains_Medical_History, 
        HP_Contains_Surgical_History, 
        HP_Contains_Review_Of_Systems, 
        HP_Contains_Social_History, 
        HP_Contains_Treatment_Plan, 
        HP_Documented_In_30_Days, 
        Charted_Within_24
    ) 
SELECT 
    [TT2870-LA Active].Department_Name & " " & [TT2870-LA Active].SECTION_NAME AS Department, 
    [TT2870-LA Active].LAST_NAME, 
    [TT2870-LA Active].FIRST_NAME, 
    [Vsurvey data to NameSplit].[Last Name],
    [Vsurvey data to NameSplit].[First Name],
    [TT2870-LA Active].[CPM ID], 
    [Vsurvey data to NameSplit].Author, 
    [Vsurvey data to NameSplit].Provider, 
    [Vsurvey data to NameSplit].[Chart ID], 
    [Vsurvey data to NameSplit].Audit_Date, 
    [Vsurvey data to NameSplit].Admit_Date, 
    [Vsurvey data to NameSplit].[Question Group], 
    [Vsurvey data to NameSplit].[H&P contains allergies], 
    [Vsurvey data to NameSplit].[H&P contains assessment/impression], 
    [Vsurvey data to NameSplit].[H&P contains chief complaint], 
    [Vsurvey data to NameSplit].[H&P contains current physical examination], 
    [Vsurvey data to NameSplit].[H&P contains family history], 
    [Vsurvey data to NameSplit].[H&P contains history of present illness], 
    [Vsurvey data to NameSplit]. [H&P contains labs/diagnostic test results], 
                                ^------- Extra space here
    [Vsurvey data to NameSplit].[H&P contains medications], 
    [Vsurvey data to NameSplit].[H&P contains past medical history], 
    [Vsurvey data to NameSplit].[H&P contains past surgical history], 
    [Vsurvey data to NameSplit].[H&P contains review of systems], 
    [Vsurvey data to NameSplit].[H&P contains social history], 
    [Vsurvey data to NameSplit].[H&P contains the treatment plan], 
    [Vsurvey data to NameSplit].[H&P is was documented less than 30 days from admission date_], 
                                                                Should this be here? -------^
    [Vsurvey data to NameSplit].[H&P present within 24 hours of admission] 
FROM 
    [Vsurvey data to NameSplit] LEFT JOIN [TT2870-LA Active] ON 
    [Vsurvey data to NameSplit].[Last Name] = [TT2870-LA Active].LAST_NAME AND 
    [Vsurvey data to NameSplit].LastSplit = [TT2870-LA Active].FIRST_NAME 
WHERE
    [Vsurvey data to NameSplit].Audit_Date Between #10/1/2018# And #12/31/2018#

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

Например, чтобы проверить, вызывает ли проблема первое поле, временно измените добавленное значение на строковое значение по умолчанию, составляющее допустимые данные для поля, например:

INSERT INTO 
    Audit_Vsurvey_All_Data_t 
    ( 
        Department, 
        LAST_NAME, 
        FIRST_NAME, 
        -- ... < more fields > ...
        Charted_Within_24
    ) 
SELECT 
    "Default Department" AS Department, -- Temporarily change to a default value
    [TT2870-LA Active].LAST_NAME, 
    [TT2870-LA Active].FIRST_NAME, 
    -- ... < more fields > ...
    [Vsurvey data to NameSplit].[H&P present within 24 hours of admission] 
FROM 
    [Vsurvey data to NameSplit] LEFT JOIN [TT2870-LA Active] ON 
    [Vsurvey data to NameSplit].[Last Name] = [TT2870-LA Active].LAST_NAME AND 
    [Vsurvey data to NameSplit].LastSplit = [TT2870-LA Active].FIRST_NAME 
WHERE
    [Vsurvey data to NameSplit].Audit_Date Between #10/1/2018# And #12/31/2018#

Это будетпозволяет вам определить, какое из полей вызывает ошибку, чтобы вы могли продолжить расследование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...