SQL 2005 SQL 语法错误 谢谢

guoweijun394 2007-08-13 01:46:12
我把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..) 的形式也是
请问怎么回事呢? 是类型问题?


...全文
120 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
guoweijun394 2007-08-13
  • 打赏
  • 举报
回复
谢谢 mengmou()mengmou() 结了
guoweijun394 2007-08-13
  • 打赏
  • 举报
回复
我在sql server 中 改‘’ 是可以出来结果的
但是在 程序中是得不到这个结果的 ,SQL 语句不用改吗?
mengmou 2007-08-13
  • 打赏
  • 举报
回复
INNER JOIN UBSDepartment_Employee b on b.DepartmentID = @DepartmentID
------
这个不用改
guoweijun394 2007-08-13
  • 打赏
  • 举报
回复
谢谢 在SQL 语句中怎么改下呢
INNER JOIN UBSDepartment_Employee b on b.DepartmentID = @DepartmentID -》
  • 打赏
  • 举报
回复
分隔符的原因,你可以加单引号!
昵称被占用了 2007-08-13
  • 打赏
  • 举报
回复
EXEC @return_value = [dbo].[GetEmployee_ByDepartmentID]
@DepartmentID = 3d940364-70e3-40c8-82e3-a9c4b1a094c4

SELECT 'Return Value' = @return_value

---->

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

SELECT 'Return Value' = @return_value
mengmou 2007-08-13
  • 打赏
  • 举报
回复
uniqueidentifier类型的数据要有分隔符的,
@DepartmentID = 3d940364-70e3-40c8-82e3-a9c4b1a094c4
改为
@DepartmentID = '3d940364-70e3-40c8-82e3-a9c4b1a094c4'

34,592

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧