现在的位置: 首页 > 综合 > 正文

演示了通过存储过程来获取某个字段的值,并对该字段值进行了判断

2013年03月23日 ⁄ 综合 ⁄ 共 839字 ⁄ 字号 评论关闭
 

表结构定义为
USE [test]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Students](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [Name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [Age] [int] NULL,
    [Sex] [int] NULL,
 CONSTRAINT [PK_Students] PRIMARY KEY CLUSTERED
(
    [ID] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
 
表中的内容
ID
NAME
AGE
SEX
1
小明
21
1
2
小芳
24
2
3
 
20
2
 
 
/*
当前存储过程实现了通过一个一个输入参数id,来获取用户名字的功能,同时对获取的用户名字进行了判断。
*/
ALTER PROCEDURE dbo.GetNameById
    @id    int,
    @name nvarchar(50) output
AS
    select @name=name from students where id =@id
    if @name = '' or @name is null
       select @name = '当前用户名字为空!'
    RETURN
 
在查询分析器中测试该存储过程:
1. 查询id为4的学生名字,没有该id
DECLARE @nametmp nvarchar(50)
exec GetNameById @id=4, @name=@nametmp output
print(@nametmp)
 
得到的结果为: 当前用户名字为空!
 
2. 查询id为1的学生名字,有该id
DECLARE @nametmp nvarchar(50)
exec GetNameById @id=1, @name=@nametmp output
print(@nametmp)
 
得到的结果为: 小明

 

抱歉!评论已关闭.