2012-10-17 83 views
4

我正在運行這個我的cfquery裏面。如何從cfquery中檢索SQL變量?

SET @rID = (SELECT TOP 1 roleid 
      FROM Roles 
      WHERE RoleName = @rName AND appid = @appID 
      ORDER BY Created DESC); 

是否有可能檢索@rID,而無需運行SELECT查詢第二次? 如:

<cfset varName = queryName.rID> 

上面沒有明顯的工作,但沒有任何其他方式從查詢返回的變量?

+0

我假設'SET @ rID'是一些較大操作的一部分,否則爲什麼你不能只選擇該值而不是將它設置在變量中? – LittleBobbyTables

+0

正確,它是更大操作的一部分。整個事情是一個多表插入。我想要的是一個簡單的聲明,它可以查看2個索引列,我可以很容易地再次運行它,但我覺得這是多餘的。 – mawburn

回答

9

您可以通過select得到@rID的值,而無需再次運行完整查詢。

<cfquery name="qryRoleID"> 
    SET @rID = (SELECT TOP 1 roleid 
     FROM Roles 
     WHERE RoleName = @rName AND appid = @appID 
     ORDER BY Created DESC); 
    SELECT @rID AS rID 
</cfquery> 
<cfdump var="#qryRoleID.rID#"> 
+0

沒有想到這一點。像魅力一樣工作,謝謝! – mawburn