I just finished removing them, all seems ok so far; however when I resubmit the SQL i get a #temp already exists, i know how to delete NONtemp tables, but it doenst seem to work for #temporary tables....do you know the syntax for that?
THANKS! s Brad -----Original Message----- From: Raster, Tim [mailto:[EMAIL PROTECTED] Sent: Friday, September 05, 2003 4:45 PM To: SQL Subject: RE: Concatenation assistance... No @ signs on cursors. -----Original Message----- From: Bradford T Comer [mailto:[EMAIL PROTECTED] Sent: Friday, September 05, 2003 16:44 To: SQL Subject: RE: Concatenation assistance... I am getting a error when I attempt to OPEN @MyCursor. Can you tell what is my problem? All the remaining errors reference same thing, cant find MyCursor *starts at line 183 -- declareNewRecordListA - Registered but not completed Course DECLARE @NewRecordIDListA varchar(8000) -- setDefault SET @NewRecordIDListA = '' -- declareNewRecordListB - Completed Course DECLARE @NewRecordIDListB varchar(8000) -- setDefault SET @NewRecordIDListB = '' -- declareMyRowCounterA DECLARE @MyRowCounterA int -- default to zero SET @MyRowCounterA = 0 -- declareMyRowCounterB DECLARE @MyRowCounterB int -- default to zero SET @MyRowCounterB = 0 -- getExcludeListA - these are users whom signed up but didnt finish course DECLARE @tmpExcludeListA varchar(8000); SET @tmpExcludeListA = (SELECT ExcludeListA FROM Custom_NAMBDataDumpData WHERE ID = 1); PRINT @tmpExcludeListA -- getExcludeListB - these are users whom have completed the course DECLARE @tmpExcludeListB varchar(8000); SET @tmpExcludeListB = (SELECT ExcludeListB FROM Custom_NAMBDataDumpData WHERE ID = 1); PRINT @tmpExcludeListB -- cleanUpBListAddApostrophes DECLARE @CleanedExcludeListB varchar(8000) SET @CleanedExcludeListB = '' DECLARE @tmpDelim varchar(15) SET @tmpDelim = CHAR(39) + CHAR(44) + CHAR(39) IF (LEN(RTRIM(@tmpExcludeListB)) > 0) BEGIN SET @CleanedExcludeListB = REPLACE(@tmpExcludeListB, CHAR(44), @tmpDelim) END ELSE BEGIN SET @CleanedExcludeListB = '' END -- finalCleanup SET @CleanedExcludeListB = CHAR(39) + @CleanedExcludeListB + CHAR(39) -- DEBUG: cleanedListB PRINT @CleanedExcludeListB -- ifDrop#NAMBTempTbl IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'#NAMBTempTbl') DROP DATABASE [#NAMBTempTbl] -- createTempTable CREATE TABLE #NAMBTempTbl ( cyb_record_num varchar(25), cyb_course_code varchar(100), cyb_course_grade varchar(100), cyb_student_id varchar(25), cyb_profile_email varchar(300), cyb_profile_id_number varchar(111), cyb_profile_org varchar(400), cyb_profile_addr1 varchar(400), cyb_profile_addr2 varchar(400), cyb_profile_city varchar(400), cyb_profile_state varchar(400), cyb_profile_zip varchar(400), cyb_profile_country varchar(400), cyb_course_price money, cyb_course_complete_date datetime, cyb_billing_first_name varchar(400), cyb_billing_last_name varchar(400), cyb_order_addr1 varchar(400), cyb_order_city varchar(400), cyb_order_state varchar(400), cyb_order_zip varchar(400), cyb_order_phone varchar(300), cyb_order_email varchar(300), cyb_order_pay_method varchar(400), cyb_order_cc_num varchar(150), cyb_order_cc_expire varchar(150), cyb_order_datetime datetime ) -- dynamicSQL DECLARE @MySQL varchar(8000) SET @MySQL = 'INSERT INTO #NAMBTempTbl (cyb_record_num, cyb_course_code, cyb_course_grade, cyb_student_id, cyb_profile_email, cyb_profile_id_number, cyb_profile_org, cyb_profile_addr1, cyb_profile_addr2, cyb_profile_city, cyb_profile_state, cyb_profile_zip, cyb_profile_country, cyb_course_price, cyb_course_complete_date, cyb_billing_first_name, cyb_billing_last_name, cyb_order_addr1, cyb_order_city, cyb_order_state, cyb_order_zip, cyb_order_phone, cyb_order_email, cyb_order_pay_method, cyb_order_cc_num, cyb_order_cc_expire, cyb_order_datetime) SELECT x.cyb_record_num, x.cyb_course_code, x.cyb_course_grade, y.cyb_student_id, y.cyb_profile_email, y.cyb_profile_id_number, y.cyb_profile_org, y.cyb_profile_addr1, y.cyb_profile_addr2, y.cyb_profile_city, y.cyb_profile_state, y.cyb_profile_zip, y.cyb_profile_country, a.cyb_course_price, z.cyb_course_complete_date, (SELECT TOP 1 tbl.cyb_order_first_name FROM cyb_order_detail_mast tbl WHERE ((x.cyb_course_code = tbl.cyb_course_code) AND (x.cyb_student_id = tbl.cyb_student_id))) AS cyb_billing_first_name, (SELECT TOP 1 tbl.cyb_order_last_name FROM cyb_order_detail_mast tbl WHERE ((x.cyb_course_code = tbl.cyb_course_code) AND (x.cyb_student_id = tbl.cyb_student_id))) AS cyb_billing_last_name, (SELECT TOP 1 tbl.cyb_order_addr1 FROM cyb_order_detail_mast tbl WHERE ((x.cyb_course_code = tbl.cyb_course_code) AND (x.cyb_student_id = tbl.cyb_student_id))) AS cyb_order_addr1, (SELECT TOP 1 tbl.cyb_order_city FROM cyb_order_detail_mast tbl WHERE ((x.cyb_course_code = tbl.cyb_course_code) AND (x.cyb_student_id = tbl.cyb_student_id))) AS cyb_order_city, (SELECT TOP 1 tbl.cyb_order_state FROM cyb_order_detail_mast tbl WHERE ((x.cyb_course_code = tbl.cyb_course_code) AND (x.cyb_student_id = tbl.cyb_student_id))) AS cyb_order_state, (SELECT TOP 1 tbl.cyb_order_zip FROM cyb_order_detail_mast tbl WHERE ((x.cyb_course_code = tbl.cyb_course_code) AND (x.cyb_student_id = tbl.cyb_student_id))) AS cyb_order_zip, (SELECT TOP 1 tbl.cyb_order_phone FROM cyb_order_detail_mast tbl WHERE ((x.cyb_course_code = tbl.cyb_course_code) AND (x.cyb_student_id = tbl.cyb_student_id))) AS cyb_order_phone, (SELECT TOP 1 tbl.cyb_order_email FROM cyb_order_detail_mast tbl WHERE ((x.cyb_course_code = tbl.cyb_course_code) AND (x.cyb_student_id = tbl.cyb_student_id))) AS cyb_order_email, (SELECT TOP 1 tbl.cyb_order_pay_method FROM cyb_order_detail_mast tbl WHERE ((x.cyb_course_code = tbl.cyb_course_code) AND (x.cyb_student_id = tbl.cyb_student_id))) AS cyb_order_pay_method, (SELECT TOP 1 RIGHT(tbl.cyb_order_cc_num, 4) FROM cyb_order_detail_mast tbl WHERE ((x.cyb_course_code = tbl.cyb_course_code) AND (x.cyb_student_id = tbl.cyb_student_id))) AS cyb_order_cc_num, (SELECT TOP 1 tbl.cyb_order_cc_expire FROM cyb_order_detail_mast tbl WHERE ((x.cyb_course_code = tbl.cyb_course_code) AND (x.cyb_student_id = tbl.cyb_student_id))) AS cyb_order_cc_expire, (SELECT TOP 1 tbl.cyb_order_datetime FROM cyb_order_detail_mast tbl WHERE ((x.cyb_course_code = tbl.cyb_course_code) AND (x.cyb_student_id = tbl.cyb_student_id))) AS cyb_order_datetime FROM cyb_grade_book_mast x INNER JOIN cyb_student_profile_mast y ON x.cyb_student_id = y.cyb_student_id INNER JOIN cyb_required_course_mast z ON x.cyb_student_id = z.cyb_student_id INNER JOIN cyb_course_mast a ON x.cyb_course_code = a.cyb_course_code WHERE ((y.cyb_profile_id_number <> ''000000-00'') AND ((x.cyb_course_code = ''NAMB001M'' OR x.cyb_course_code = ''NAMB001NM'') OR (x.cyb_course_code = ''NAMB002M'' OR x.cyb_course_code = ''NAMB002NM'') OR (x.cyb_course_code = ''NAMB003M'' OR x.cyb_course_code = ''NAMB003NM'')) AND (x.variable_switch_1 <> ''M'') AND (x.cyb_org_id = 11) AND (z.cyb_course_code LIKE x.cyb_course_code) AND (z.cyb_org_id = 11) AND (x.cyb_record_num NOT IN (' + @CleanedExcludeListB + ')))' -- DEBUG: printDynamicSQL PRINT @MySQL -- DEBUG: executeDynamicSQL EXEC (@MySQL) -- declareFetchReturnVariables DECLARE @cyb_record_num varchar(25), @cyb_course_code varchar(100), @cyb_course_grade varchar(100), @cyb_student_id varchar(25), @cyb_profile_email varchar(300), @cyb_profile_id_number varchar(111), @cyb_profile_org varchar(400), @cyb_profile_addr1 varchar(400), @cyb_profile_addr2 varchar(400), @cyb_profile_city varchar(400), @cyb_profile_state varchar(400), @cyb_profile_zip varchar(400), @cyb_profile_country varchar(400), @cyb_course_price money, @cyb_course_complete_date datetime, @cyb_billing_first_name varchar(400), @cyb_billing_last_name varchar(400), @cyb_order_addr1 varchar(400), @cyb_order_city varchar(400), @cyb_order_state varchar(400), @cyb_order_zip varchar(400), @cyb_order_phone varchar(300), @cyb_order_email varchar(300), @cyb_order_pay_method varchar(400), @cyb_order_cc_num varchar(150), @cyb_order_cc_expire varchar(150), @cyb_order_datetime datetime -- declareCursor DECLARE MyCursor CURSOR FOR SELECT cyb_record_num, cyb_course_code, cyb_course_grade, cyb_student_id, cyb_profile_email, cyb_profile_id_number, cyb_profile_org, cyb_profile_addr1, cyb_profile_addr2, cyb_profile_city, cyb_profile_state, cyb_profile_zip, cyb_profile_country, cyb_course_price, cyb_course_complete_date, cyb_billing_first_name, cyb_billing_last_name, cyb_order_addr1, cyb_order_city, cyb_order_state, cyb_order_zip, cyb_order_phone, cyb_order_email, cyb_order_pay_method, cyb_order_cc_num, cyb_order_cc_expire, cyb_order_datetime FROM #NAMBTempTbl -- openCursor OPEN @MyCursor -- fetchFirstRow FETCH NEXT FROM @MyCursor INTO @cyb_record_num, @cyb_course_code, @cyb_course_grade, @cyb_student_id, @cyb_profile_email, @cyb_profile_id_number, @cyb_profile_org, @cyb_profile_addr1, @cyb_profile_addr2, @cyb_profile_city, @cyb_profile_state, @cyb_profile_zip, @cyb_profile_country, @cyb_course_price, @cyb_course_complete_date, @cyb_billing_first_name, @cyb_billing_last_name, @cyb_order_addr1, @cyb_order_city, @cyb_order_state, @cyb_order_zip, @cyb_order_phone, @cyb_order_email, @cyb_order_pay_method, @cyb_order_cc_num, @cyb_order_cc_expire, @cyb_order_datetime -- loopCursor WHILE (@@FETCH_STATUS = 0) BEGIN PRINT @@CURSOR_ROWS /* -- DEBUG: displayRowData PRINT @cyb_record_num + '~' + @cyb_course_code + '~' + @cyb_course_grade + '~' + @cyb_student_id + '~' + @cyb_profile_email + '~' + @cyb_profile_id_number + '~' + @cyb_profile_org + '~' + @cyb_profile_addr1 + '~' + @cyb_profile_addr2 + '~' + @cyb_profile_city + '~' + @cyb_profile_state + '~' + @cyb_profile_zip + '~' + @cyb_profile_country + '~' + CAST(@cyb_course_price AS VARCHAR) + '~' + CAST(@cyb_course_complete_date AS varchar(44)) + '~' + @cyb_billing_first_name + '~' + @cyb_billing_last_name + '~' + @cyb_order_addr1 + '~' + @cyb_order_city + '~' + @cyb_order_state + '~' + @cyb_order_zip + '~' + @cyb_order_phone + '~' + @cyb_order_email + '~' + @cyb_order_pay_method + '~' + @cyb_order_cc_num + '~' + @cyb_order_cc_expire + '~' + CAST(@cyb_order_datetime AS varchar(44)) -- DEBUG: listComparision PRINT ',' + RTRIM(@tmpExcludeListA) + ',' PRINT '%,' + RTRIM(CAST(@cyb_record_num AS VARCHAR(25))) + ',%' */ -- Newly Registered User; A list; irrelevant if they completed course or not, since all data is written IF NOT ((',' + RTRIM(@tmpExcludeListA) + ',') LIKE ('%,' + RTRIM(CAST(@cyb_record_num AS VARCHAR(25))) + ',%')) BEGIN -- insertRecord -- appendIDTo @NewRecordIDListA IF LEN(RTRIM(@NewRecordIDListA)) > 0 BEGIN SET @NewRecordIDListA = @NewRecordIDListA + ',' + CAST(@cyb_record_num AS VARCHAR(25)) END ELSE SET @NewRecordIDListA = CAST(@cyb_record_num AS VARCHAR(25)) -- incrementMyRowCounterA SET @MyRowCounterA = @MyRowCounterA + 1 END ELSE -- Registered User, check to see if they have finished the course; if TRUE add to B list BEGIN IF (RTRIM(@cyb_course_grade) <> 0) BEGIN -- appendIDTo @NewRecordIDListB IF LEN(RTRIM(@NewRecordIDListB)) > 0 BEGIN SET @NewRecordIDListB = @NewRecordIDListB + ',' + CAST(@cyb_record_num AS VARCHAR(25)) END ELSE SET @NewRecordIDListB = CAST(@cyb_record_num AS VARCHAR(25)) -- incrementMyRowCounter SET @MyRowCounterB = @MyRowCounterB + 1 END END -- getNextRow FETCH NEXT FROM @MyCursor INTO @cyb_record_num, @cyb_course_code, @cyb_course_grade, @cyb_student_id, @cyb_profile_email, @cyb_profile_id_number, @cyb_profile_org, @cyb_profile_addr1, @cyb_profile_addr2, @cyb_profile_city, @cyb_profile_state, @cyb_profile_zip, @cyb_profile_country, @cyb_course_price, @cyb_course_complete_date, @cyb_billing_first_name, @cyb_billing_last_name, @cyb_order_addr1, @cyb_order_city, @cyb_order_state, @cyb_order_zip, @cyb_order_phone, @cyb_order_email, @cyb_order_pay_method, @cyb_order_cc_num, @cyb_order_cc_expire, @cyb_order_datetime -- endLoopCursor END -- closeCursor CLOSE @MyCursor -- deallocateCursor DEALLOCATE @MyCursor -- updateExcludeListA & B with NewRecordIDListA OR B PRINT 'A Data' PRINT @NewRecordIDListA PRINT @MyRowCounterA PRINT '' PRINT 'B Data' PRINT @NewRecordIDListB PRINT @MyRowCounterB GO THANKS BRAD ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Archives: http://www.houseoffusion.com/lists.cfm?link=t:6 Subscription: http://www.houseoffusion.com/lists.cfm?link=s:6 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=<:emailid:>.<:userid:>.<:listid:> Your ad could be here. Monies from ads go to support these lists and provide more resources for the community. http://www.fusionauthority.com/ads.cfm
