Please start any new threads on our new 
    site at https://forums.sqlteam.com.  We've got lots of great SQL Server
    experts to answer whatever question you can come up with. 
    
        
            
                
                    
                        
                            
                                | Author | 
                                
                                 Topic  | 
                             
                            
                                    | 
                                         boywonder115 
                                        Starting Member 
                                         
                                        
                                        5 Posts  | 
                                        
                                        
                                            
                                            
                                             Posted - 2014-12-30 : 16:34:21
                                            
  | 
                                             
                                            
                                            | I'm creating a new stored procedure:Use CoopUSDevgoCREATE PROCEDURE sp_Resources12	(		@msg varchar	)ASBEGIN		@msg = "Select * from tblresources where active = 1 and page = 'Resources'"	/* msg = msg and usertype like ('%" & session("txtusertype") & "%')" */      BEGIN     if isPaeDealer = true            @msg = @msg & " and (usertype like ('%" & ("txtusertype") & "%') or usertype like '%pae%') "      else           @msg = @msg & " and usertype like ('%" & ("txtusertype") & "%')"      end if     END          BEGIN      @msg = @msg & " and columnNumber = 1"       @msg = @msg & " and dtmExpire > getdate()"     END            BEGIN       if ("ysnOA")="0"                    /* user does not have OA funds so do not show OA options */            @msg = @msg & " and (ysnOA <> 1 or ysnOA is null)"      end if     END           BEGIN      if ("ysnPae")="1"                  /* user does not have OA funds so do not show OA options */             @msg = @msg & " and ((ysnPae =1) and ysnPae is not null) "      end if     END            /*This section was added to give the ability to have documents only shown to Pae and no one else. */     BEGIN      if ("ysnPae")="1"                     @msg = @msg & " and (PAEonly =0 or PAEonly is null) "      end if     END                           BEGIN       /* ENd This section was added to give the ability to have documents only shown to Pae and no one else.      if lcase(session("txtusertype"))="dealer" and session("ysnJa")<>1 then  'user is not a JA dealer so hide       JA-exclusive links (ysnJaOnly in tblResources)*/              @msg = @msg & " and (ysnJaOnly <> 1 or ysnJaOnly is null)"                              @msg = @msg & " order by txtGroupLabel,sortorder"	 END	ENDGO- - - - - - - - - - - -And I'm receiving the following issues:Msg 102, Level 15, State 1, Procedure sp_Resources12, Line 10Incorrect syntax near '@msg'.Msg 102, Level 15, State 1, Procedure sp_Resources12, Line 15Incorrect syntax near '@msg'.Msg 102, Level 15, State 1, Procedure sp_Resources12, Line 28Incorrect syntax near '@msg'.Msg 102, Level 15, State 1, Procedure sp_Resources12, Line 34Incorrect syntax near '@msg'.Msg 102, Level 15, State 1, Procedure sp_Resources12, Line 41Incorrect syntax near '@msg'.Don't know what I'm doing wrong.  Please help... | 
                                             
                                         
                                     | 
                             
       
                            
                       
                          
                            
                                    | 
                                     tkizer 
                                    Almighty SQL Goddess 
                                     
                                    
                                    38200 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-12-30 : 16:37:21
                                          
  | 
                                         
                                        
                                          | You need to use SET or SELECT with your variables, like this:SET @msg = 'some message'Also, the concatenation character is +, not &. I don't understand why you are building a dynamic query for something that doesn't appear to need to be dynamic.Seems like you'd need to make @msg an OUTPUT parameter, right now it's only INPUT.Tara KizerSQL Server MVP since 2007http://weblogs.sqlteam.com/tarad/  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     boywonder115 
                                    Starting Member 
                                     
                                    
                                    5 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-12-31 : 11:18:07
                                          
  | 
                                         
                                        
                                          | OK, I have shorten the SP to:IF isPaeDealer = FALSE THEN         SET @msg = @msg + usertype like '%' + session("txtusertype") + '%'        SET @msg = @msg + [columnNumber] = 1    SET @msg = @msg + [dtmExpire] > getdate()        SELECT @msg = @msg + ORDER BY txtGroupLabel, sortorder- - - - - But now I'm getting the following errors:Msg 156, Level 15, State 1, Procedure sp_Resources12a, Line 20Incorrect syntax near the keyword 'THEN'.Msg 156, Level 15, State 1, Procedure sp_Resources12a, Line 21Incorrect syntax near the keyword 'like'.Msg 102, Level 15, State 1, Procedure sp_Resources12a, Line 23Incorrect syntax near '='.Msg 102, Level 15, State 1, Procedure sp_Resources12a, Line 24Incorrect syntax near '>'.Msg 156, Level 15, State 1, Procedure sp_Resources12a, Line 26Incorrect syntax near the keyword 'ORDER'.  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     boywonder115 
                                    Starting Member 
                                     
                                    
                                    5 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-12-31 : 11:19:57
                                          
  | 
                                         
                                        
                                          | I apologize..  I've been using MS Access and have lost a few years experience in SQL Server.  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     boywonder115 
                                    Starting Member 
                                     
                                    
                                    5 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-12-31 : 12:24:22
                                          
  | 
                                         
                                        
                                          | Just changed it again to:IF isPaeDealer = TRUE THEN 		SELECT 			[sortorder],			[page],			[txtgroup],			[txtGroupLabel],			[usertype],			[active],			[dtmExpire],			[columnNumber]				FROM dbo.tblResources				WHERE 					[columnNumber] = 1 + [dtmExpire] > getdate()					ORDER			txtGroupLabel, sortorder- - - - - - - And now getting the following error:Msg 156, Level 15, State 1, Procedure sp_Resources12a, Line 16Incorrect syntax near the keyword 'THEN'.Msg 102, Level 15, State 1, Procedure sp_Resources12a, Line 32Incorrect syntax near '>'.Msg 156, Level 15, State 1, Procedure sp_Resources12a, Line 40Incorrect syntax near the keyword 'THEN'.Msg 195, Level 15, State 10, Procedure sp_Resources12a, Line 56'session' is not a recognized built-in function name.- - - - - Look like I'm getting closer, but still getting errors..  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     tkizer 
                                    Almighty SQL Goddess 
                                     
                                    
                                    38200 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-12-31 : 14:17:20
                                          
  | 
                                         
                                        
                                          | I'm going to have to refer you to Books Online as your syntax is just not correct. What is isPaeDealer? Is it a variable or a column?Here's an example IF:IF @var1 = 0BEGIN SELECT ......ENDELSEBEGIN SELECT .....ENDTara KizerSQL Server MVP since 2007http://weblogs.sqlteam.com/tarad/  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     boywonder115 
                                    Starting Member 
                                     
                                    
                                    5 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-12-31 : 15:47:02
                                          
  | 
                                         
                                        
                                          | I figured it out:ALTER PROCEDURE [dbo].[procGetResourcesNew]	-- Add the parameters for the stored procedure here	(	   @UserType VARCHAR(20),	   @Page varchar(20),	   @ColumnNumber int	)   ASBEGIN		SELECT 			[sortorder],			[page],			[txtgroup],			[txtGroupLabel],			[usertype],			[active],			[dtmExpire],			[columnNumber]		FROM dbo.tblResources				WHERE 			[usertype] like @UserType			and [page] = @Page 			and [columnNumber] = @ColumnNumber 			and [dtmExpire] > getdate()			and [active] = 1		ORDER BY			txtGroupLabel, sortorder- - - - - - - - - - - - - -- - -Thanks tkizer  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     tkizer 
                                    Almighty SQL Goddess 
                                     
                                    
                                    38200 Posts  | 
                                    
                                      
                                     | 
                                   
                            
                            
                                | 
                                    
                                      
                                     
                                    
                                 | 
                             
                         
                     | 
                 
             
         |   
     
     
            
              
	     |  
		
			
     
          
		 |