1. --创建登录账户和数据库用户
  2. exec sp_addlogin 'sysAdmin',''
  3. exec sp_grantdbaccess 'sysAdmin','aa'
  4. --给数据库用户赋权限
  5. grant select,update,insert,delete on userInfo to aa
  6.  
  7. --建立数据库前的判断
  8. Use master
  9. GO
  10. if exists(select * from sysdatabases where name='bankDB')
  11. drop database bankDB
  12. GO
  13.  
  14. exec xp_cmdshell 'md d:\bank',no_output
  15. go
  16.  
  17. --建立数据库
  18. create database bankDB
  19. on
  20. (
  21. name='bankDB_data',
  22. filename='D:\bank\bankDB.mdf',
  23. size=3,
  24. filegrowth=15%
  25. )
  26. log on
  27. (
  28. name='bankDB_log',
  29. filename='D:\bank\bankDB_log.ldf',
  30. size=3,
  31. filegrowth=15%
  32. )
  33. GO
  34.  
  35. use bankDB
  36. GO
  37.  
  38. --建立银行卡信息
  39. if exists(select * from sysobjects where name='cardInfo')
  40. drop table cardInfo
  41. GO
  42.  
  43. create table cardInfo
  44. (
  45. cardID varchar(20) not null,
  46. curType varchar(5) not null,
  47. savingType nvarchar(4) not null,
  48. openDate datetime not null,
  49. openMoney money not null,
  50. balance money not null,
  51. pass varchar(6) not null,
  52. IsReportLoss bit not null, --是否挂失,1表示挂失
  53. customerID int not null
  54. )
  55. go
  56.  
  57. --检查约束
  58. alter table cardInfo
  59. add constraint CK_cardID check(cardID like '1010 3576 [0-9][0-9][0-9][0-9] [0-9][0-9][0-9][0-9]')
  60. --主键约束
  61. alter table cardInfo
  62. add constraint PK_cardID primary key(cardID)
  63. --默认约束
  64. alter table cardInfo
  65. add constraint DF_curType default('RMB') for curType
  66. --创建外键约束
  67. alter table cardInfo
  68. add constraint FK_customerID foreign key(customerID) references userInfo(customerID)
  69. --创建唯一约束
  70. alter table userInfo
  71. add constraint UK_PID unique(cardID)
  72.  
  73. --创建索引
  74. create unique nonclustered index IX_cardID on cardInfo(cardID) with fillfactor=70
  75.  
  76. --创建视图
  77. create view v_userInfo as
  78. select customerID 客户编号,customerName 开户用户,PID 身份证号,telephone 电话,address 地址 from userInfo
  79. go
  80.  
  81. select * from v_userInfo
  82.  
  83. --创建存储过程
  84. --产生随机号的存储过程
  85. if exists(select * from sysobjects where name='proc_randCardID')
  86. drop proc proc_randCardID
  87. go
  88.  
  89. create proc proc_randCardID
  90. @i varchar(10),
  91. @rand varchar(20) output
  92. as
  93. declare @b varchar(10)
  94. declare @r numeric(15,8)
  95. select @r=rand(datepart(mm,getdate())*100000+datepart(ss,getdate())*1000+datepart(ms,getdate()))
  96. select @b=substring(convert(varchar(30),@r),3,4)+' '+substring(convert(varchar(30),@r),7,4)
  97. set @rand=@i+' '+@b
  98. go
  99.  
  100. --测试获得随机数
  101. declare @result varchar(20)
  102. exec proc_randcardID '1524 2222',@result output
  103. select @result
  104. go

记录常用的一些使用方式,以备需要的时候查看!

SQLServer创建用户、数据库、表、约束、存储过程、视图的更多相关文章

  1. ABP框架使用Mysql数据库,以及基于SQLServer创建Mysql数据库的架构和数据

    ABP默认的数据库是SQLServer,不过ABP框架底层是EF框架,因此也是很容易支持其他类型的数据库的,本篇随笔介绍在ABP框架使用Mysql数据库,以及基于SQLServer创建MySql数据库 ...

  2. oracle12c创建用户和表空间出现的问题

    Oracle12c 中,增加了可插接数据库的概念,即PDB,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB).CDB全称为 ContainerDatabase,中文翻译为数据库容器,PDB全 ...

  3. iOS:CoreData数据库的使用一(创建单个数据库表)

    CoreData数据库框架:mac系统自带的数据库,它是苹果公司对sqlite进行封装而来的,既提供了对数据库的主要操作,也提供了具体的视图关系模型. 需要用到三个对象: 1•Managed Obje ...

  4. 创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表

    创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表 创建数据模型类(POCO类) 在Models文件夹下添 ...

  5. Java创建Oracle数据库表

    我们通常只用java执行DML(即:insert, update, delete, select)操作,很少用来执行DDL(create, drop, alert)操作.今天试了下如何用java来创建 ...

  6. django在admin后台注册自己创建的数据库表

    django在admin后台注册自己创建的数据库表,这样我们就可以在admin后台看到表结构信息,我们就可以在admin后台快速录入表记录信息 如果没有注册,那么你在登录django自带的admin的 ...

  7. Oracle创建用户、表(1)

    Oracle创建用户.表(1) 1. 连接 C:\Users\LEI>sqlplus / as sysdba SQL*Plus: Release 12.1.0.2.0 Production on ...

  8. SQLServer创建用户自定义数据库用户

    创建用户自定义数据库用户注意事项 如果已忽略 FOR LOGIN,则新的数据库用户将被映射到同名的SQL Server登录名. 默认架构将是服务器为此数据库用户解析对象名时将搜索的第一个架构. 除非另 ...

  9. 创建oracle数据库表空间并分配用户

    我们在本地的oracle上或者virtualbox的oracle上 创建新的数据库表空间操作:通过system账号来创建并授权/*--创建表空间create tablespace YUJKDATAda ...

  10. 用sqlplus为oracle创建用户和表空间<转>

    用Oracle10g自带的企业管理器或PL/SQL图形化的方法创建表空间和用户以及分配权限是相对比较简单的,本文要介绍的是另一种方法,使用Oracle 9i所带的命令行工具:SQLPLUS来创建表空间 ...

随机推荐

  1. cxf-webservice完整示例

    最近一段时间研究webservice,一般来说,开发java的Webservice经常使用axis2和cxf这两个比较流行的框架 先使用cxf,开发一个完整示例,方便对webservice有一个整体的 ...

  2. Repeater 控件使用总结

      关于Repeater控件使用的一些总结,希望能对将来有机会看到这篇日志的同事有所帮助.也是为了在自己开发有所遗忘的时候能够参考一下.前言:Repeater是一个迭代控件,什么是迭代控件呢?书本上的 ...

  3. Hive 入门学习线路指导

    hive被大多数企业使用,学习它,利于自己掌握企业所使用的技术,这里从安装使用到概念.原理及如何使用遇到的问题,来讲解hive,希望对大家有所帮助. 此篇内容较多:看完之后需要达到的目标: 1.hiv ...

  4. oracle用户名和密码到期后如何处理

    原因:确定是由于Oracle11g中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致. 影响: 1.密码过期后,业务进程连接数据库异常,影响业务使用. 2. ...

  5. Python入门之面向对象编程(四)Python描述器详解

    本文分为如下部分 引言——用@property批量使用的例子来引出描述器的功能 描述器的基本理论及简单实例 描述器的调用机制 描述器的细节 实例方法.静态方法和类方法的描述器原理 property装饰 ...

  6. Python3 Selenium定位不到元素常见原因及解决办法

    Python3 Selenium定位不到元素常见原因及解决办法 一.问题描述 在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况: 报错信息: no such e ...

  7. Linux启动vi编辑器时提示E325: ATTENTION解决方案

    Linux启动vi编辑器时提示E325: ATTENTION解决方案 Vi编辑器是Linux的文本编辑器,在Linux系统的运用非常广泛,不少朋友在打开Vi编辑器的时候提示E325: ATTENTIO ...

  8. 20145216《网络对抗》逆向及BOF基础实践

    20145216<网络对抗>逆向及BOF基础实践 1 逆向及Bof基础实践说明 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件.该程序正常执行流程是:main调用foo函 ...

  9. 20145208 蔡野《网络对抗》Exp3 Advanced 恶意代码伪装技术实践

    20145208 蔡野<网络对抗>Exp3 Advanced 恶意代码伪装技术实践 木马化正常软件 思路: 在正常软件包中将原本的程序主文件(平时打开程序用的exe文件)改成dll后缀(或 ...

  10. linux内核分析 第5章读书笔记

    第五章 系统调用 一.与内核通信 系统调用在用户控件进程和硬件设备之间添加了一个中间层,作用有: 为用户空间提供了一种硬件的抽象接口 系统调用保证了系统的稳定和安全 每个进程都运行在虚拟系统中,而在用 ...