ALTER PROCEDURE dispsaledh ( @sale_id int, @sale_dj float(8) OUTPUT) AS SELECT @sale_dj = sale_dj FROM lnsn_sale WHERE (sale_id = @sale_id
ALTER PROCEDURE dispsaledh ( @sale_id int, @sale_dj float(8) OUTPUT) AS SELECT @sale_dj=sale_dj FROM lnsn_sale WHERE (sale_id = @sale_id RETURN
alter PROCEDURE dispsaledh ( @sale_id int, @sale_dj float(8) OUTPUT) AS SELECT @sale_dj=sale_dj FROM lnsn_sale WHERE (sale_id = @sale_id) RETURN go
同样,如果ALTER PROCEDURE dscrm ( @crm_username varchar, @crm_id int OUTPUT )AS SELECT @crm_id=crm_id from lnsn_crm where crm_username like @crm_username RETURN
存储过程中input参数是不是不能为汉字,怎么我写的,只要是输入参数值为汉字的,都没有得到值呢?ALTER PROCEDURE dscrm ( @crm_username varchar, @crm_id int OUTPUT )AS SELECT @crm_id=crm_id from lnsn_crm where crm_username like @crm_username RETURN输入人名,得到id。 只执行 SELECT @crm_id=crm_id from lnsn_crm where crm_username like @crm_username 可以。
ALTER PROCEDURE dscrm ( @crm_username varchar(20), @crm_id int OUTPUT )AS SELECT @crm_id=crm_id from lnsn_crm where crm_username like @crm_username RETURN
首先,不知你lnsn_sale表中的数据如何use tempdb Gocreate PROCEDURE dispsaledh ( @sale_id varchar(20), ---这里要varchar或Nvarchar才能输入汉字,而你原先是int的,所以用汉字不行 @sale_dj float(8) OUTPUT) AS BeginSELECT @sale_dj=sale_dj FROM lnsn_sale WHERE sale_id = @sale_id ----这条语句要是@sale_dj=sale_djRETURN End GOcreate table lnsn_sale ( sale_dj float(8), sale_id varchar(20) )insert into lnsn_sale select 3,'大宝'declare @sale_dj float(8)exec dispsaledh '大宝',@sale_dj outputprint '@sale_dj返回的值是:'+cast(@sale_dj as varchar) ---这就是结果了drop table lnsn_sale drop proc dispsaledh ------------------------------------------ (所影响的行数为 1 行)@sale_dj返回的值是:3
(
@sale_id int,
@sale_dj float(8) OUTPUT)
AS
SELECT @sale_dj = sale_dj
FROM lnsn_sale
WHERE (sale_id = @sale_id
(
@sale_id int,
@sale_dj float(8) OUTPUT)
AS
SELECT @sale_dj=sale_dj
FROM lnsn_sale
WHERE (sale_id = @sale_id RETURN
(
@sale_id int,
@sale_dj float(8) OUTPUT)
AS
SELECT @sale_dj=sale_dj
FROM lnsn_sale
WHERE (sale_id = @sale_id) RETURN
go
(
@crm_username varchar,
@crm_id int OUTPUT
)AS
SELECT @crm_id=crm_id from lnsn_crm where crm_username like @crm_username
RETURN
(
@crm_username varchar,
@crm_id int OUTPUT
)AS
SELECT @crm_id=crm_id from lnsn_crm where crm_username like @crm_username
RETURN输入人名,得到id。
只执行 SELECT @crm_id=crm_id from lnsn_crm where crm_username like @crm_username
可以。
(
@crm_username varchar(20),
@crm_id int OUTPUT
)AS
SELECT @crm_id=crm_id from lnsn_crm where crm_username like @crm_username
RETURN
Gocreate PROCEDURE dispsaledh
(
@sale_id varchar(20), ---这里要varchar或Nvarchar才能输入汉字,而你原先是int的,所以用汉字不行
@sale_dj float(8) OUTPUT)
AS
BeginSELECT @sale_dj=sale_dj FROM lnsn_sale WHERE sale_id = @sale_id ----这条语句要是@sale_dj=sale_djRETURN
End
GOcreate table lnsn_sale
(
sale_dj float(8),
sale_id varchar(20)
)insert into lnsn_sale select 3,'大宝'declare @sale_dj float(8)exec dispsaledh '大宝',@sale_dj outputprint '@sale_dj返回的值是:'+cast(@sale_dj as varchar) ---这就是结果了drop table lnsn_sale
drop proc dispsaledh
------------------------------------------
(所影响的行数为 1 行)@sale_dj返回的值是:3