【发布时间】:2018-12-18 03:35:38
【问题描述】:
当我执行具有uniqueidentifier 类型的第一个输入参数的存储过程时,它是插入值的表中的主键列,它会引发以下错误。我找不到这个输入或存储过程有什么问题。
EXEC @return_value = DbInsert
@id = EX642793-385D-604F-BE81-0000CD376836,
@name= N'000001_067_0xed642993385d604fbe810000cd376836.tif',
@image = 0x49492A00080000001300FE00040001000000020000000001040001000000C50900000101040001000000E90D0000020103000
SELECT 'Return Value' = @return_value
我的存储过程:
CREATE PROCEDURE DbInsert
@id UNIQUEIDENTIFIER,
@name VARCHAR(255),
@image IMAGE
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO TbImage (Id, Name, Image )
VALUES (@id, @name, @image)
END
错误:
消息 102,第 15 级,状态 1,第 7 行
'-' 附近的语法不正确。
更新
我尝试右键单击存储过程并执行,它并没有要求我提供报价和所有内容,但我上面写的查询是它显示为错误的内容。当我尝试引用时,它会抛出错误
消息 8114,级别 16,状态 1,过程 DbInsert,第 0 行 [批处理开始第 2 行]
将数据类型 varchar 转换为 uniqueidentifier 时出错。 (1 行受影响)
再次更新
通过自己更改一些数字来使用有效的Uniqueidentifier,但是将 X 替换为其他一些字符...仍然没有运气。
EM662993-385D-604F-BE81-0000CD376838
【问题讨论】:
-
@DaleBurrell:它自动让我在右键单击中输入值并执行 proc。我还需要手动输入报价吗?我不这么认为?而且我什至引用了,它没有帮助
-
Msg 8114,级别 16,状态 1,过程 DbInsert,第 0 行 [Batch Start Line 2] 将数据类型 varchar 转换为 uniqueidentifier 时出错。 (1 行受影响)
-
@DaleBurrell:运气不好,它会抛出另一个错误,但是它也说一行受到影响,冲突?
-
你是怎么得到那个无效的 guid 的?
-
@DaleBurrell:我不知道 X 是无效的,我猜我运气不好,我只在那个地方把 X 作为测试,呵呵....哈哈,我的编程运气很差,如我的占星术。即使我的输出做得更好,计算机和我也永远不会好起来lol
标签: sql sql-server stored-procedures uniqueidentifier