当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL server 2000存储过程

MSSQL
SQL Server TEXT、NTEXT字段拆分的问题
SQL Server事务日志的几个常用操作
SQL Server不存在或拒绝访问故障的排除
动态创建MSSQL数据库表存储过程
教你如何在SQL Server计算列和平均值
如何应用SQL Server中的DBCC避免堵塞
SQLServer2000分布式事务错误解决方法
通用SQL数据库查询语句精华使用简介
利用typeperf工具收集SQL Server性能数据
SQL 2008 FileStream数据类型
自定义用于ASP Web站点的 SQL 7.0 数据库
SQL server 2005安装问题大全
利用"SQL"语句自动生成序号的两种方式
SQL Server数据库管理员必备的DBCC命令
讲解在SQL Server 2005中实现异步触发器架构
SQL Server 2008的新特性概述:集成服务
SQL Server 2008关系数据库引擎的新增功能
浅析SQL 2008的Change Data Capture功能
在IIS中为SQL Server 2008配置报表服务
SQL Server 2008中报表服务详解

MSSQL 中的 SQL server 2000存储过程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 132 ::
收藏到网摘: n/a

if exists(select name from sysobjects where name='GetRecord' and type = 'p')
   drop procedure GetRecord
GO

create procedure GetRecord
@id int output,              --输出p_id和p_path
@path nvarchar(255) output
as

select top 1 @id = p_id, @path = p_path from n_project where p_flag = '0';
if(@id > 0)  
   Update n_project set p_flag = '1' where p_id = @id
else
  begin
    set @id = 0;      --若没有结果则给个默认值,否则直接返回NULL会使程序错误
    set @path = ' ';  --若p_path为NULL,则它也会返回NULL,从而造成程序错误
  end
if(@path is NULL)
begin
   set @path = ' ';
end

if @@error=0
print 'Good'
else
print 'Fail'
go

--测试程序
declare @idd int
declare @ppath nvarchar(255)
EXEC dbo.GetRecord @idd output,@ppath output
select '1'=@idd, '2'=@ppath
go

SQL SERVER中,按CTR+0,即可输入空值NULL


http://blog.csdn.net/gzq400/archive/2007/02/02/1501235.aspx