USE [Role]
GO /*Create a table*/
IF OBJECT_ID ('dbo.Users', 'U') IS NOT NULL
DROP TABLE Users
GO
CREATE TABLE [dbo].[Users](
[ID] [int] IDENTITY(1,1) NOT NULL,
[UserName] [varchar](50) NOT NULL,
[Password] [varchar](20) NOT NULL,
[TrueName] [varchar](50) NULL,
[sex] [varchar](2) NULL,
[Birthday] [datetime] NULL,
[Phone] [varchar](20) NULL,
[Email] [varchar](50) NULL,
[CreateTime] [datetime] NULL,
CONSTRAINT [PK_Accounts_Users] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] GO /*Create procedure about select*/
IF OBJECT_ID('GetUserBy','p') IS NOT NULL
DROP PROCEDURE GetUserBy
GO
CREATE PROCEDURE GetUserBy
@id int
AS
BEGIN
SELECT ID,UserName,Password,TrueName,sex,Birthday,Phone,Email FROM [Users] WHERE [Users].[ID]=@id
END
GO EXECUTE GetUserBy @id=1
GO /*Insert*/
CREATE PROCEDURE Insertuser
@userName varchar(50)
,@password varchar(20)
,@trueName varchar(50)
,@sex varchar(2)
,@birthday datetime
,@phone varchar(20)
,@email varchar(20)
AS
BEGIN
INSERT INTO [Users]([UserName],[Password],[TrueName],[sex],[Birthday],[Phone],[Email],[CreateTime])
VALUES(@userName,@password,@trueName,@sex,@birthday,@phone,@email,GETDATE())
END
GO EXECUTE Insertuser @userName='Admin',@password=''
,@truename='Adminstrator',@sex='男',@birthday='2014-08-31'
,@phone='',@email='a@136.com'
Go
/*Insert user return id*/
CREATE PROCEDURE InsertUserReturenId
@userName varchar(50)
,@password varchar(20)
,@trueName varchar(50)
,@sex varchar(2)
,@birthday datetime
,@phone varchar(20)
,@email varchar(20)
AS
BEGIN
INSERT INTO [Users]([UserName],[Password],[TrueName],[sex],[Birthday],[Phone],[Email],[CreateTime])
VALUES(@userName,@password,@trueName,@sex,@birthday,@phone,@email,GETDATE());
SELECT @@IDENTITY
END
GO EXECUTE InsertUserReturenId @userName='Admin',@password=''
,@truename='Adminstrator',@sex='男',@birthday='2014-08-31'
,@phone='',@email='a@136.com'
Go /*Update*/
CREATE PROCEDURE UpdateUser
@id int
,@password varchar(20)
AS
BEGIN
UPDATE [Users] SET [Password]=@password WHERE [ID]=@id
END
GO EXECUTE UpdateUser @id=15,@password=''
GO
/*Delete*/
CREATE PROCEDURE DeleteUserById
@id int
AS
BEGIN
DELETE FROM [Users] WHERE [ID]=@id
END
GO EXECUTE DeleteUserById @id=1
GO /**Clear table**/ Truncate table [Users]
GO /*loop insert data*/
DECLARE
@userName varchar(50)
,@password varchar(20)
,@trueName varchar(50)
,@sex varchar(2)
,@birthday datetime
,@phone varchar(20)
,@email varchar(20)
,@i int SET @userName='Admin'
SET @password=''
SET @trueName='Adminstrator'
SET @sex='男'
SET @birthday='2014-08-31'
SET @phone=''
SET @email='q@138.com'
SET @i=30 WHILE @i<31
BEGIN
SET @userName='admin'+CONVERT(varchar(2),@i)
INSERT INTO [Users]([UserName],[Password],[TrueName],[sex],[Birthday],[Phone],[Email],[CreateTime])
VALUES(@userName,@password,@trueName,@sex,@birthday,@phone,@email,GETDATE())
SET @i=@i+1
END
GO /*Page and sort*/
CREATE PROCEDURE QueryUserByPage1
@pageSize int
,@currentPage int
,@searchName varchar(50)
,@flag int
AS
DECLARE @startPgae int,@endPage int,@sort varchar(50),@sql varchar(1000)
SET @startPgae=@currentPage * @pageSize
SET @endPage=@startPgae + @pageSize -1
SET @sort=
CASE WHEN @flag=1 THEN 'ID'
WHEN @flag=2 THEN 'UserName'
WHEN @flag=3 THEN 'CreateTime'
END
BEGIN
SELECT ROW_NUMBER() OVER(ORDER BY @sort DESC) AS userId FROM [Users]
WHERE useId BETWEEN @startPgae AND @endPage
END
GO /*Pgae*/
IF OBJECT_ID ('QueryUserByPage', 'p') IS NOT NULL
DROP PROCEDURE QueryUserByPage
GO
CREATE PROCEDURE QueryUserByPage
@pageSize int
,@currentPage int
,@searchName varchar(50)
AS
DECLARE @startPgae int,@endPage int
SET @startPgae=(@currentPage-1) * @pageSize + 1
SET @endPage=@startPgae + @pageSize - 1
SET @searchName='%'+RTRIM(@searchName)+'%'
BEGIN
SELECT * FROM
(
SELECT *, ROW_NUMBER() OVER(ORDER BY ID DESC) AS userId
FROM [Users]
WHERE
[UserName] LIKE @searchName
)
tuser
WHERE tuser.userId BETWEEN @startPgae AND @endPage
END
GO
/*拼接字符串分页*/
CREATE PROCEDURE QueryUserByPage2
@start int
,@end int
AS
DECLARE @sql nvarchar(600)
set @sql='select top '+str(@end-@start+1)+' * from Users where ID not in(select top'+str(@start-1)+' ID from Users)'
BEGIN
execute(@sql)
END
GO QueryUserByPage2 @start=2,@end=10
GO


EXECUTE QueryUserByPage @pageSize=10,@currentPage=1,@searchName=''
GO DECLARE
@name varchar(50)
,@description varchar(50)
,@i int
SET @description='teacher'
SET @i=1
WHILE @i<=10
BEGIN
SET @name = 'teacher' + CONVERT(varchar(2),@i)
INSERT INTO [Roles] VALUES(@name,@description)
SET @i=@i+1
END
GO SELECT * from Roles TRUNCATE table Roles
GO SELECT * FROM [UserRoles]
LEFT JOIN [Roles] ON [UserRoles].[RoleID]=[Roles].[ID]
WHERE [UserRoles].[UserID]=1
选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!
排序:select * from table1 order by field1,field2 [desc]
总数:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
随机产生
select top 10 * from Users order by newid()
左外连接 (Left  Jion):包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行
select * from test1 left join test2 on test1.id = test2.id

右外连接 (Rigt Jion):包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边表中全部匹配的行

select * from test1 right join test2 on test1.id = test2.id


 
declare @name varchar(50),@flag int
SET @name =
CASE
WHEN @flag = 0 THEN 'Mfg item - not for resale'
WHEN @flag < 50 THEN 'Under $50'
WHEN @flag >= 50 and @flag < 250 THEN 'Under $250'
WHEN @flag >= 250 and @flag < 1000 THEN 'Under $1000'
ELSE 'Over $1000'
END
IF @cost <= @compareprice
BEGIN
PRINT 'These products can be purchased for less than
$'+RTRIM(CAST(@compareprice AS varchar(20)))+'.'
END

SqlServer ,storedprocedure操作的更多相关文章

  1. 【转载】微软官方提供的Sqlserver数据库操作帮助类SQLHelper类

    在.NET平台中,C#语言一般使用ADO.NET组件来操作Sqlserver数据库,通过ADO.NET组件可以实现连接数据库.查询数据集.执行SQL语句以及关闭数据库连接等操作,为此网上有很多开发者自 ...

  2. Sqlserver日期操作

    Sqlserver日期操作 select GETDATE() as '当前日期', DateName(year,GetDate()) as '年', DateName(month,GetDate()) ...

  3. SQLserver数据库操作帮助类SqlHelper

    1 SqlHelper源码 using System; using System.Data; using System.Xml; using System.Data.SqlClient; using ...

  4. SQLServer数据操作(建库、建表以及数据的增删查改)

              SQLSever数据操作   一.建立数据库:   create database DB ---数据库名称 (          name=data1 --文件名,         ...

  5. C# 连接 SQLServer 及操作

    随笔:连接: // 将tb_User表数据添加到DataGridView中 string sqlconn = "Data Source=localhost;Initial Catalog=d ...

  6. sqlserver 表操作 SQL篇

    数据库知识点 1.数据库操作: 增:insert into 表名 values(值1,值2,值3) 删:delete 列名 from 表名 where 条件 改:update 表名 set =值 wh ...

  7. (转)SQLServer分区表操作

    原文地址:https://www.cnblogs.com/libingql/p/4087598.html 1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一 ...

  8. SQLServer数据操作(建库、建表以及数据的增删查改)[转]

    SQLSever数据操作   一.建立数据库:   create database DB ---数据库名称 (          name=data1 --文件名,          filename ...

  9. SqlServer知识点-操作xml

    一.开发环境 SQL2010 二.开发过程 1.声明一个xml类型变量 DECLARE @xmlInfo XML; SET @xmlInfo = '<CompanyGroup> <C ...

随机推荐

  1. 通用链表实现(参考Linux List)

    最近参考Linux实现的通用双向链表时,因typeof并不是标准c规定的关键字,除GCC编译器外其他编译器未必支持typeof关键字,所以在使用上并不能想Linux所实现的链表哪样灵活,它要求将连接器 ...

  2. [Javascript] Try...Catch和异常处理

    在JavaScript可以使用try...catch来进行异常处理.例如:  try    {     foo.bar(); }   catch  (e)   {     alert(e.name  ...

  3. 100天成就卓越领导力:新晋领导者的First100训练法

    <100天成就卓越领导力:新晋领导者的First100训练法> 基本信息 原书名:Your Frist 100 days: How to Make Maximum Impact in Yo ...

  4. 段描述符表(GDT+LDT)的有感

    [0]写在前面 要知道,在汇编中,代码的装入顺序决定了在内存中的地址位置.所有的代码或者数据都在硬盘上,当调试或者启动的时候,加载到内存:当需要对数据进行处理的时候,我们通过将数据从内存载入到regi ...

  5. 关于使用Exception的一点心得

    毫无疑问,Exception有很多优点.查看任何一本面向对象的书籍,都会提到异常相对于返回值标记状态的不足以及避免错误导致程序崩溃的问题.看起来是很好的,用起来也是很好的.可是这么多年过去了,异常用的 ...

  6. 51nod 数数字(水题)

    题目链接: 数数字 基准时间限制:1 秒 空间限制:262144 KB 统计一下 aaa ⋯ aaa n个a × b 的结果里面有多少个数字d,a,b,d均为一位数. 样例解释: 3333333333 ...

  7. ruby学习--varaible

    #全局变量 $global_variable=10 class Class1 def print_global() puts "Global variable in Class1 is #{ ...

  8. Android-短信验证

    一.mob.com移动开发者服务平台(ShareSDK)的认识 该平台主要是致力于解决移动开发者的实际需求,同时也致力于一些第三方平台的框架支持,那么这样我们可以更方便的将一些功能集成到我们的App中 ...

  9. IOS小知识纪录

    1.scrollView缩放 #import "ViewController.h" @interface ViewController () <UIScrollViewDel ...

  10. Swift - Property ''not initialized at super.init call

    Property ''not initialized at super.init call 这个错误应该挺常见的的,为什么在百度上没有找到呢,stack over flow找到了,也不能说是什么解决办 ...