CREATE PROCEDURE [dbo].[confirm]
(@code char(6),
@psw char(10),
@name varchar(8) output)
AS
select @name=name
from temployee
where ( employeeno=@code) and (psw=@psw)if @name is null set @name= '2' --这个值传递到程序的时候竟然=2(integer),为什么?_Q1
GO@name 这个变量如果temployee的name的值为数字的时候,没有问题
可是,当为字母或者汉字的时候就会在这个存储过程执行的过程中报数据转换错误,无法执行此过程temployee.name的类型是char(8)能给我一些关于存储过程返回字符(串)类型参数的相关知识吗?
(@code char(6),
@psw char(10),
@name varchar(8) output)
AS
select @name=name
from temployee
where ( employeeno=@code) and (psw=@psw)if @name is null set @name= '2' --这个值传递到程序的时候竟然=2(integer),为什么?_Q1
GO@name 这个变量如果temployee的name的值为数字的时候,没有问题
可是,当为字母或者汉字的时候就会在这个存储过程执行的过程中报数据转换错误,无法执行此过程temployee.name的类型是char(8)能给我一些关于存储过程返回字符(串)类型参数的相关知识吗?
CREATE PROCEDURE [dbo].[confirm]
(@code char(6),
@psw char(10),
@name varchar(8) output)
AS
select @name=convert(varchar(8),name)
from temployee
where ( employeeno=@code) and (psw=@psw)if @name is null set @name= '2' --这个值传递到程序的时候竟然=2(integer),为什么?_Q1
GO