22,209
社区成员
发帖
与我相关
我的任务
分享
there is a stored procedure
create procedure CreateHuman
(
@name nvarchar(20),
@body image output
)
if I use it ,should I type like this:
declare @tempBody image
exec CreateHuman
(
@name='abc' ,
@body=@tempBody output
)
--> 生成测试数据表: [tb]
IF OBJECT_ID('tb')>0
DROP TABLE tb
GO
CREATE TABLE [tb] ([name] [nvarchar](10),[body] [varbinary](max))
INSERT INTO [tb]
SELECT 'abc',0xabcdef0987654321 UNION ALL
SELECT 'cdb',0x89876748598599ab
--SELECT * FROM [tb]
-->SQL查询如下:
IF OBJECT_ID('CreateHuman')>0
DROP PROC CreateHuman
GO
CREATE PROCEDURE CreateHuman
@name NVARCHAR(20),
@body VARBINARY(MAX) OUTPUT
AS
SELECT @body=body FROM tb WHERE name = @name
GO
DECLARE @tempBody VARBINARY(MAX)
EXEC CreateHuman @name='abc', @body=@tempBody OUTPUT
SELECT @tempBody
/*
* ---------------------------
* 0xABCDEF0987654321
*(1 行受影响)
*/
SQL2K5 use VARBINARY(MAX)
exec CreateHuman ( @name='abc' , @body=@tempBody output )