日期:2014-05-18  浏览次数:20581 次

SQL 2005 SQL 语法错误 谢谢
我把guid   类型的值做参数   ,建立连接表的SQL   语句时   ,说是语法错误。
具体:

CERATE   PROCEDURE   [dbo].[Employee_ByDepartmentID]
@DepartmentID   uniqueidentifier
  AS  
SELECT  
  a.name
  FROM   UBSEmployee   a
          INNER   JOIN   UBSDepartment_Employee   b   on   b.DepartmentID   =   @DepartmentID

-------------------------------
EXEC @return_value   =   [dbo].[GetEmployee_ByDepartmentID]
@DepartmentID   =   3d940364-70e3-40c8-82e3-a9c4b1a094c4

SELECT 'Return   Value '   =   @return_value

消息   102,级别   15,状态   1,第   5   行
'd940364 '   附近有语法错误。

改成     in   (select..)   的形式也是  
请问怎么回事呢?   是类型问题?




------解决方案--------------------
uniqueidentifier类型的数据要有分隔符的,
@DepartmentID = 3d940364-70e3-40c8-82e3-a9c4b1a094c4
改为
@DepartmentID = '3d940364-70e3-40c8-82e3-a9c4b1a094c4 '

------解决方案--------------------
分隔符的原因,你可以加单引号!