Chinaunix首页 | 论坛 | 博客
  • 博客访问: 404077
  • 博文数量: 85
  • 博客积分: 1416
  • 博客等级: 上尉
  • 技术积分: 916
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-03 20:35
文章分类
文章存档

2014年(5)

2012年(2)

2010年(3)

2009年(67)

2008年(8)

分类: 数据库开发技术

2014-08-19 16:39:39

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

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