Chinaunix首页 | 论坛 | 博客
  • 博客访问: 388958
  • 博文数量: 120
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 741
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-27 18:15
文章分类

全部博文(120)

文章存档

2016年(13)

2015年(41)

2014年(66)

我的朋友

分类: 数据库开发技术

2014-05-01 19:39:38

1、select 1是什么意思?
    ANS:select 1 from mytable;select anycol(目的表集合中的任意一行) from mytable;与select * from mytable 作用上来说是没有差别的,都是查看{{是否有记录}},一般是作条件用的。select 1 from 中的1是一常量,查到的所有行的值都是它,但从效率上来说,1>anycol>*
2、SQL server 存储过程中怎么将变量赋值
    --SQL赋值语句
    DECLARE @test1 INT
    SELECT @test1 = 111
    SET @test1 = 222

    --SQL函数赋值,假定count()是自定义函数
    DECLARE @test2 INT
    SELECT @test2 = COUNT(*) FROM sys.sysobjects

    --SQL存储过程赋值,直接传参处理(类似C语言中的指针吗)
    IF OBJECT_ID('sp_test') IS NOT NULL DROP PROCEDURE sp_test
    GO
    CREATE PROCEDURE sp_test(@test INT OUTPUT)
    AS
    BEGIN
    SELECT @test = 999
    END
    GO

    --执行
    DECLARE @test3 INT
    EXEC sp_test @test3 OUTPUT
    SELECT @test3

    DROP PROCEDURE sp_test
    GO
3、如何创建一个带有返回值的存储过程
create procedure proc_Login 
@UserName varchar(20),
@UserPwd varchar(20)
--@returnValue int output--该关键字表明为外部变量 
as
declare @returnValue int
begin
if exists(
    select 1--UserName
    from tb_User
    where UserName=@UserName and UserPwd=@UserPwd
)
begin
set @returnValue=1
return @returnValue
end
else
begin
set @returnValue=2
return @returnValue
end
end
go

阅读(1239) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~