简单的sql登录和注册存储过程
首先我建好了一张用户表表中有俩个字段 一个是账号,一个是密码当然这里我写的知识简单的登录很注册,
表明 users 用户表
字段 accountnum varchar(50) --表示账号
password varchar(50) --表示密码
登录存储过程
create proc use_login
(
@accountnum varchar(50),
@password varchar(50),
@message varchar(50) output
)
as
if exists(select * from users where accountnum=@accountnum and password=@password)
set @message='登录成功'
else if exists(select * from users where accountnum=@accountnum )
set @message='密码错误'
else if exists(select * from users where password=@password)
set @message='用户名错误'
else
set @message='用户名和密码都错误'
declare @msg as varchar(50)
exec use_login 'text','text',@msg output
print @msg
注册存储过程
create proc use_registration
(
@accountnum varchar(50),
@password varchar(50),
@message varchar(50) output
)
as
if exists(select * from users where accountnum=@accountnum)
set @message='该用户已经存在'
else
begin
insert into users values(@accountnum,@password)
set @message='恭喜您,可以注册该用户'
end
declare @msg as varchar(50)
exec use_registration 'text','text',@msg output
print @msg
上面再执行存储过程的时候 要打印所要显示出来的信息用的是print 也可以用select
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
Case具有两种格式。简单Case函数和Case搜索函数。
--简单Case函数
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
--Case搜索函数
CASE WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他' END
这两种方式,可以实现相同的功能。简单Case函数的写法相 ......
数据库操作:利用函数减少存储空间(以时间换取空间)
例如一个表有IP列,在存储的时候我们为了减少存储空间,可以将它转化为整数,存储在数据库,但是在从数据库里查询并显示给大家看的时候,可能你是看不明白整数具体是什么。这样为了利于大家阅读分析数据,可以在查询的时候利用函数将整数IP转为为字符串
例如:
&nbs ......
(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):
ORACLE 的解析器按照从右到左的顺序处理from子句中的表名,from子句中写在最后的表(基础表 driving table)将被最先处理,在from子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersectio ......
USE master
GO
CREATE DATABASE testbase2
ON
PRIMARY
(NAME = prim_sub_dat1,
FILENAME = 'G:\SQL SERVER2000\prim_sub_dat.mdf',
SIZE = 5MB,
MAXSIZE = 50MB,
FILEGROWTH = 20%),
(NAME = prim_sub_dat2,
FILENAME = 'G:\SQL SERVER2000\prim_sub_dat.ndf'
SIZE = 5MB,
MAXSIZE = 50MB,
......