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 |
kneel
Starting Member
36 Posts |
Posted - 2007-08-23 : 01:06:37
|
Hello All,Does anybody know how to write query dynamically in CURSOR ?I am unable to append WHERE CLAUSE to query in cursor.Regards--kneel |
|
dinakar
Master Smack Fu Yak Hacker
2507 Posts |
Posted - 2007-08-23 : 01:17:29
|
If you post your code and error message (if any) we can help with your issue. I am sure a lot of people here know how to write dynamic SQL, whether in Cursor or not.Dinakar Nethi************************Life is short. Enjoy it.************************http://weblogs.sqlteam.com/dinakar/ |
 |
|
kneel
Starting Member
36 Posts |
Posted - 2007-08-23 : 01:38:26
|
IF @Result = 0 BEGIN SET @whereClause = 'WHERE G.USERID = ' + @UserID + ' AND G.GROUPID IN (SELECT TOP 3 GROUPID FROM GROUPS WHERE USERID = '+ @UserID + ' )ORDER BY G.GroupID' END ELSE BEGIN SET @whereClause = 'WHERE G.USERID ='+ @UserID END DECLARE @groupContact CURSOR SET @groupContact = CURSOR LOCAL FAST_FORWARD READ_ONLY FOR SELECT G.GROUPID,GC.CONTACTID,GC.CONTACTTYPE FROM GROUPS G INNER JOIN GROUPCONTACTS GC ON G.GROUPID = GC.GROUPID INNER JOIN CONTACTS C ON C.CONTACTID = GC.CONTACTID AND C.CONTACTTYPE = GC.CONTACTTYPE + @whereClause OPEN @groupContact @whereClause changes depending upon @Result flag. But when I tried t o append where clause to query from cursor,it fails. Query doesn't give any recordsSo does anybody know, how to write query dynamically in cursor ?Thanks in advance--kneel |
 |
|
sutysw
Starting Member
3 Posts |
Posted - 2007-08-23 : 03:44:52
|
try withEXECUTE('DECLARE @groupContact CURSOR FOR SELECT G.GROUPID,GC.CONTACTID,GC.CONTACTTYPE FROM GROUPS G INNER JOIN GROUPCONTACTS GC ON G.GROUPID = GC.GROUPID INNER JOIN CONTACTS C ON C.CONTACTID = GC.CONTACTID AND C.CONTACTTYPE = GC.CONTACTTYPE' + @whereClause) |
 |
|
|
|
|