• I left a bunch of the code out on purpose to keep the script short. I have an EXEC in my code for what I want executed, I just need the IF condition to be correct (both in syntax and logic).

    Here is the code complete script.

    -- Stored Procedure to retrieve PeerReview data from schema version 4.x, 4.3, and 5.x

    DECLARE @DB_Name nvarchar(200)

    DECLARE @Version nvarchar(200)

    DECLARE @PeerReview4x nvarchar(2000)

    DECLARE @PeerReview43 nvarchar(2000)

    DECLARE @PeerReview5x nvarchar(2000)

    DECLARE database_cursor CURSOR FOR

    SELECT name

    FROM master.dbo.sysdatabases

    WHERE UPPER(name) LIKE 'CQ%PROD'

    OPEN database_cursor

    FETCH NEXT FROM database_cursor INTO @DB_Name

    WHILE @@FETCH_STATUS = 0

    BEGIN

    IF EXISTS ('USE ' +@DB_Name+ '

    SELECT version_number

    FROM '+ ''+@DB_Name+'' +'.CQ_DBO.schema_version

    WHERE version_number LIKE ''4.%'' AND version_number NOT LIKE ''4.3%''')

    BEGIN

    SELECT @PeerReview4x = 'USE ' +@DB_Name+ '

    SELECT '+ ''''+@DB_Name+ '''' +' as DB_Name, ''PeerReview'' AS record_type, T1.peerreviewid, T1.attached_script, T1.author, T1.comments, T1.corrective_time, T1.creation_date, T1.description,

    T1.electronic_path, T1.email_subject_start, T1.emails_of_participants, T1.eng_discipline, T1.facilitator, T1.measure_name1, T1.measure_name2,

    T1.measure_name3, T1.measure_value1, T1.measure_value2, T1.measure_value3, T1.meeting_date, T1.okay_no_actionitems, T1.program_phase,

    T1.programspecificdata1, T1.programspecificdata10, T1.programspecificdata11, T1.programspecificdata2, T1.programspecificdata3,

    T1.programspecificdata4, T1.programspecificdata5, T1.programspecificdata6, T1.programspecificdata7, T1.programspecificdata8,

    T1.programspecificdata9, T1.fldcolumn AS ''references'', T1.review_method, T1.sdt_states, T2.name as state, T1.status, T1.total_action_items,

    T1.total_attendees, T1.total_avg_time, T1.total_defect_ai, T1.total_mtg_time, T1.total_prep_time, T1.total_time, T1.fldcolumn_1 as type, T1.reviewtype,

    T1.work_product_available

    FROM '+ ''+@DB_Name+ '' +'.CQ_DBO.schema_version T0,

    '+ ''+@DB_Name+ '' +'.CQ_DBO.peerreview T1 INNER JOIN

    '+ ''+@DB_Name+ '' +'.CQ_DBO.statedef T2 ON T1.state = T2.id INNER JOIN

    '+ ''+@DB_Name+ '' +'.CQ_DBO.enttable_1 T3 ON T1.security_context = T3.dbid

    WHERE(T1.dbid <> 0)'

    EXEC sp_executesql @PeerReview4x

    END

    --Get the next database in the cursor

    FETCH NEXT FROM database_cursor INTO @DB_Name

    END

    --Cleanup

    CLOSE database_cursor

    DEALLOCATE database_cursor