如何在SQL Server中進行級聯?如何在SQL中進行級聯
我寫下面的查詢和它的返回總是空值。我想,如果條件數據存在執行與否
SET @Query = 'SELECT con.ID, BusinessName, FirstName, LastName, con.MobileNo, TelephoneNo,con.Email AS Email,
Address1, ISNULL(con.IsActive,0) AS IsActive, ISNULL(Status,0)AS Status, st.Name AS StatusName, ISNULL(st.ColorID,0)AS ColorID,
(SELECT TOP 1 cfu.Remark FROM CRM_ContactFollowUp cfu WHERE cfu.ContactID = con.ID ORDER BY ID DESC) AS Remark, con.CreatedBy,
emp.Name AS CreatedName,con.CreatedOn, con.DueDate
FROM CRM_Contacts con
LEFT JOIN CRM_Status st ON st.ID = con.Status
LEFT JOIN PMS_Employee emp ON emp.ID=con.CreatedBy
WHERE con.OrganizationID='+ Convert(Varchar,@OrganizationID)+' AND('[email protected] +') ORDER BY ID DESC OFFSET ('+ Convert(Varchar,@PageIndex) +')
ROWS FETCH NEXT '+ Convert(Varchar,@PageSize) +' ROWS ONLY';
SET @NextQuery ='IF(EXISTS (SELECT con.ID FROM CRM_Contacts con WHERE con.OrganizationID= '+ Convert(Varchar,@OrganizationID)+' AND
ORDER BY ID DESC OFFSET ('+ Convert(Varchar,@NextPage) +') ROWS FETCH NEXT '+ Convert(Varchar,@PageSize) +' ROWS ONLY))
SET '+ Convert(Varchar,@IsMoreRecords)+'= 1
ELSE
SET '+ Convert(Varchar,@IsMoreRecords)+'= 0';
EXEC(@Query);
EXEC(@NextQuery);
這裏是我的完整過程https://jsfiddle.net/npathak56/aLsngae5/
@Query執行正常,但@NextQuery不執行,爲什麼?
提供樣品數據和預期結果。你也可以解釋你想做什麼。查詢沒有意義。 –
注意:你不應該爲你的存儲過程使用'sp_'前綴。微軟已經保留了這個前綴以供自己使用(參見*命名存儲過程*)](http://msdn.microsoft.com/en-us/library/ms190669%28v=sql.105%29.aspx),以及你將來有可能冒着名字衝突的風險。 [這對你的存儲過程性能也是不利的](http://www.sqlperformance.com/2012/10/t-sql-queries/sp_prefix)。最好只是簡單地避免使用'sp_'並使用別的東西作爲前綴 - 或者根本沒有前綴! –
@marc_s我正在使用SP,但在這裏我只發佈了查詢,因爲SP太長 –