我可以对 SQL 中 SP 的语法有一些帮助吗?
这是我的代码:
CREATE PROCEDURE usp_GetValue
(
@ID VARCHAR(10),
@Description VARCHAR(10)
)
AS
BEGIN
return @ID + @Description
END
CREATE PROCEDURE usp_InsertValue
(
@ID VARCHAR(10),
@FirstName VARCHAR(50),
@LastName VARCHAR(50),
@Description VARCHAR(10),
@Comment VARCHAR(max)
)
AS
BEGIN
Declare @v_Value VARCHAR(15)
Set @v_Value = usp_GetValue(@ID, @Description)
END
在 usp_InsertValue SP 中,我想声明并设置一个变量。声明变量后,我希望调用另一个带参数的 SP 来设置声明变量的值。
我不确定语法。我可以帮忙吗?
更新
我已经使用你的函数更新了我上面的代码。如何从 usp_GetValue 函数设置 @v_Value。
我收到此错误:
“usp_GetValue”不是可识别的内置函数名称。
更新2
这是我的完整代码:
CREATE PROCEDURE usp_PersonCategoryLookupTesting
(
@ID VARCHAR(10),
@Description VARCHAR(10),
@res VARCHAR(10) OUTPUT
)
AS
BEGIN
return @ID + @Description
END
CREATE PROCEDURE usp_InsertPersonTesting
(
@IDTest VARCHAR(10),
@FirstName VARCHAR(50),
@LastName VARCHAR(50),
@AddressLine1 VARCHAR(50),
@AddressLine2 VARCHAR(50),
@AddressLine3 VARCHAR(50),
@MobilePhone VARCHAR(20),
@HomePhone VARCHAR(20),
@Description VARCHAR(10),
@Comment VARCHAR(max)
)
AS
BEGIN
Declare @PersonCategory VARCHAR(15)
EXEC usp_PersonCategoryLookupTest @ID, @Description, @PersonCategory
INSERT INTO Person(FirstName, LastName, AddressLine1, AddressLine2, AddressLine3, MobilePhone, HomePhone, DateModified, PersonCategory, Comment)
VALUES (@FirstName, @LastName, @AddressLine1, @AddressLine2, @AddressLine3, @MobilePhone, @HomePhone, GETDATE (), @PersonCategory, @Comment)
END
我在调用 SQL 代码的应用程序中收到此错误:
将 varchar 值“123Client”转换为数据类型 int 时转换失败。
我为@IDTest 和@Description 使用值“123”和“Client”。