sql - 具有单个 Int (ID) 参数的存储过程
问题描述
我正在尝试学习如何创建和使用 SQL Server 存储过程,我发现那里的每个示例都varchar(xx)
用作参数,而不是int
使用 ,例如,如果您想搜索用于选择特定记录的 ID 值,例如在第一个代码示例中。
CREATE PROCEDURE GetApplicationStartData
@CompanyID int(1)
AS
SET NOCOUNT ON;
SELECT *
FROM ApplicationStartData
WHERE CompanyID = @CompanyID
GO
使用此代码,执行时会出现以下错误:
消息 137,级别 15,状态 2,过程 GetApplicationStartData,第 7 行
必须声明标量变量“@CompanyID”
以下是来自 Microsoft 网站的示例:
CREATE PROCEDURE HumanResources.uspGetEmployeesTest2
@LastName nvarchar(50),
@FirstName nvarchar(50)
AS
SET NOCOUNT ON;
SELECT FirstName, LastName, Department
FROM HumanResources.vEmployeeDepartmentHistory
WHERE FirstName = @FirstName AND LastName = @LastName
AND EndDate IS NULL;
GO
这是ApplicationStartData
表格设计的片段:
CREATE TABLE [dbo].[ApplicationStartData]
(
[CompanyID] [int] NOT NULL,
[PrimaryDomainName] [varchar](20) NULL,
[CompanyName] [varchar](25) NULL,
[CompanyAddress1] [varchar](25) NULL,
[CompanyAddress2] [varchar](25) NULL,
[CompanyCity] [varchar](20) NULL,
[CompanyState] [varchar](2) NULL,
[CompanyZIP] [varchar](10) NULL,
[CompanyPhone1] [varchar](15) NULL,
[CompanyPhone2] [varchar](15) NULL,
[CompanyPhone3] [varchar](15) NULL,
[CompanyFax] [varchar](15) NULL,
... and 40 more columns
这是如何实现的?
解决方案
推荐阅读
- python - 如何在使用 str 变量的另一行之后打印一行
- java - docker windows不使用分配内存
- react-bootstrap - 如何在反应引导程序中更改表单控件的默认值
- flutter - Flutter Null 不能分配给字符串
- asp.net-core - 从 Blazor 服务器调用 webapi 方法
- javascript - 我如何在数组 JS 中合并这个重复的对象
- python - Pylance:在这种情况下不允许使用“ClassVar”?
- swift - URLSession:如何检查请求发送了哪些 cookie?
- docker - Rootless Docker - 如何从主机访问 Docker 卷?
- javascript - React API 调用返回空响应然后返回数据