WEB开发网
开发学院数据库MSSQL Server 使用VS.NET2003编写存储过程 阅读

使用VS.NET2003编写存储过程

 2007-05-17 09:37:53 来源:WEB开发网   
核心提示: ·从上下文相关菜单中选择 New Stored Procedure(新建存储过程),在 Visual Studio .NET 编辑器空间中打开一个存储过程模板,使用VS.NET2003编写存储过程(4),现在,可以键入内容了,包括输入参数、返回特定值的输出参数,以及检查输入参

·从上下文相关菜单中选择 New Stored Procedure(新建存储过程),在 Visual Studio .NET 编辑器空间中打开一个存储过程模板。现在,可以键入内容了。

·完成编辑后,只需关闭编辑器中正在编辑的页面,Visual Studio .NET 将使用存储过程的名称将该项内容保存到数据库中。如果键入的内容有误,编辑器会向您报告这些错误,您可以在保存存储过程之前修正这些错误。

下面是存储过程的一个简单示例,它返回一个主题列表。

CREATE PROCEDURE TopicsGetList
AS
  SET NOCOUNT ON -- 不返回受影响行的值
  SELECT
   ID,
   Title,
   Description
  FROM
   Topics
  ORDER BY
   Title
  RETURN @@ERROR

在本示例中,有几点需要指出。首先,请注意 SET NOCOUNT ON 行。它告诉 SQL Server 停止为该查询计算受影响的行数,并停止向调用函数返回该值。这是一项不必要的额外工作。其次,结尾处的 RETURN @@ERROR 一行很重要。此行代码返回 SQL Server 中发生的错误的整数值。您可以在调用例程中使用此代码完成其他诊断和错误处理操作。您现在并不需要执行任何操作,但它们是创建存储过程时应该遵循的两个好习惯。

下面是一个更复杂的存储过程。此过程用于从数据库中检索单条主题记录。您会发现一些附加项,包括输入参数、返回特定值的输出参数,以及检查输入参数并在需要时返回错误的某些程序代码。

CREATE PROCEDURE TopicsGetItem
  (
   @AdminCode char(3),
   @ID int,
   @Title varchar(30) OUTPUT,
   @Description varchar(500) OUTPUT
  )
AS
  SET NOCOUNT ON -- 不返回受影响行的值
  -- 确保是一个 Admin 用户
  IF @AdminCode<>'adm'
   BEGIN
     RETURN 100 -- 无效 admin 错误
   END
  -- 检查记录是否存在
  IF (SELECT Count(ID) FROM Topics WHERE ID=@ID)=0
   BEGIN
     RETURN 101 --- 无效 ID 代码
   END
  -- 继续执行并返回该记录
  SELECT
   @Title=Title,
   @Description=Description
  FROM
   Topics
  WHERE
   ID=@ID
  -- 返回错误,如果成功则返回 0
  RETURN @@ERROR

上一页  1 2 3 4 5  下一页

Tags:使用 VS NET

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接