access/sql server笔记(20160818)

这篇笔记记录了SQL Server不同版本对应的内部数据库版本号,如2016对应852,2014对应782等,并涉及到附加数据库错误、查询数据库版本号的方法、多实例配置、存储过程修改、数据库加密查看工具的使用,以及数据库设计和SQL脚本创建。此外,还提到了一些数据库术语如主键、外键、存储过程和触发器。
摘要由CSDN通过智能技术生成

20170509添加:
SQL Server版本对应内部数据库版本号配置表
源SQL Server版本 内部数据库版本
SQL Server 2016 852
SQL Server 2014 782
SQL Server 2012 706
SQL Server 2008 R2 665
SQL Server 2008 661
SQL Server 2005 with vardecimal enabled 612
SQL Server 2005 611
SQL Server 2000 539
SQL Server 7 515
2008r2附加荣耀数据库出错,提示“数据库的版本为706,无法打开。此服务器支持661版及更低版本”

几类常用数据库版本主要包括:
查询SQL Server对应的内部数据库版本号
select DATABASEPROPERTYEX('master','version')
返回661
SQL Server 2005 对应版本为  611;
SQL Server 2008 SP1  对应版本为  655;
SQL Server 2008 R2 RTM 对应版本为  661;
查看SQL Server的版本号语句如下:
use master
select @@VERSION

返回

Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)   Apr  2 2010 15:48:46   Copyright (c) Microsoft Corporation  Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

20170502添加:
多个SQL Server 2008 R2实例:
实例1
192.168.0.254,1433
sa
123
实例2
192.168.0.254,1434
sa
happy1day

6601数据库修改
1、执行链接服务器目录下的三个sql脚本文件:QPGameUserDBLink.sql、QPServerInfoDBLink.sql、QPTreasureDBLink.sql
2、修改金币库QPTreasureDB的存储过程GSP_GR_EfficacyUserID
输出变量
@Grade as dwGrade,@NickName AS NickName改为
@Grade as dwGrade,@NickName AS NickName,@isAndroid AS IsAndroid,0 AS OnlineTime,0 AS OnlineGiftCount
3、用户库QPGameUserDB增加一个存储过程GSP_GP_ContinueConnect

编译多开版本,与服务器版本不匹配
../../运行/ClientRelease/AdminPlaza.exe
改为
../../运行文件/ClientRelease/AdminPlaza.exe

//游戏列表命令码

#define MDM_GP_SERVER_LIST    2        //列表信息

#define SUB_GP_LIST_TYPE    100        //类型列表
#define SUB_GP_LIST_KIND    101        //种类列表
#define SUB_GP_LIST_STATION    102        //站点列表
#define SUB_GP_LIST_SERVER    103        //房间列表
#define SUB_GP_LIST_FINISH    104        //发送完成
#define SUB_GP_LIST_CONFIG    105        //列表配置

1,100,307
2,105,1
2,100,252
sizeof(tagGameType)=36
2,101,240
sizeof(tagGameKind)=80
2,102,2400
2,104,0

配置SQL Server,允许远程连接
http://www.cnblogs.com/weizhengLoveMayDay/p/3267756.html
20161117添加:
关系数据库中的一些基本术语。
键码Key:用来标识一列或多列。
主关键字Primary Key:作为表行的唯一标识,一个表中只有一个主关键字,主关键字又称为主键。
候选关键字Candidate Key:它是唯一标识表中一行而又不含多余属性的一个属性集。
外关键字Foreign Key:如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外关键字。由此可见,外关键字表示了两个关系之间的联系,外关键字又称作外键。
公共关键字Common Key:在关系数据库中,关系之间的联系是通过相容或相同的属性或属性组来表示的。如果两个关系中具有相容或相同的属性或属性组,那么这个属性或属性组被称为这两个关系的公共关键字。
chap7 存储过程与触发器
1、参数的定义
2、输入参数
执行带有输入参数的存储过程时,SQL Server 2008提供了两种传递参数的方式。
a.按位置传递
use QPGameUserDB;
exec GSP_GP_EfficacyAccounts '1','2','3','4'
b.通过参数名传递
3、使用默认参数
4、输出参数
为了接受某一存储过程的返回值,需要一个变量来存放返回参数的值,在该存储过程的调用语句中,必须为这个变量加上OUTPUT关键字来声明。
use qptreasuredb;
declare @strErrorDescribe NVARCHAR(128)
exec GSP_GR_EfficacyMobile '80784','DC483E80A7A0BD9EF71D8CF973673924','192.168.0.254','3232235774','','715','216',@strErrorDescribe OUTPUT
select '错误消息为:'+@strErrorDescribe as '结果'
go



存储过程加密查看.exe
工具使用方法:右键单击加密的存储过程(例如dbo.GetPassWord),然后点击Decrypt in-place菜单项,即可解密该存储过程。
USE QPGameUserDB
GO
SET ANSI_NULLS, QUOTED_IDENTIFIER ON
GO




CREATE PROCEDURE [dbo].[GetPassWord]
     @UserID_1     [nvarchar](50),
     @Email_2     [nvarchar](50),
     @Passw_3     [nvarchar](50),
     @Passd_4     [nvarchar](50),
     @Code_5     [nvarchar](50),
     @Adder_6     [nvarchar](50),
     @TelMail_8    [nvarchar](50),
     @Txt_9     [nvarchar](800),
     @PASSOWRD    [nvarchar](50)    
WITH ENCRYPTION AS
--解密后上面这句变为AS 
BEGIN

    IF EXISTS (select ID from PassWordList Where UserID=@UserID_1 And IsCut=0)
    BEGIN
    Delete From PassWordList Where UserID=@UserID_1 And IsCut=0
    END

    INSERT INTO [PassWordList] 
         ( 
         [UserID],
         [Email],
         [Passw],
         [Passd],
         [Code],
         [Adder],
         [TelMail],
         [Txt],[password]) 
     
    VALUES 
        ( @UserID_1,
         @Email_2,
         @Passw_3,
         @Passd_4,
         @Code_5,
         @Adder_6,
         @TelMail_8,
         @Txt_9, @PASSOWRD)

END
return 0
GO

使用SQL Server Management Studio创建数据库(使用图形化工具)或使用Transact-SQL语句创建数据库(使用CREATE DATABASE语句)
use master
go
if exists (select * from dbo.sysdatabases where name = 'Hotel')
drop database Hotel
GO
create database Hotel--待创建数据库的名称
go
use Hotel
go
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[user_Info]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[user_Info]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[bookin]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[bookin]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[rooms]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[rooms]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[roomtype]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[roomtype]
GO
CREATE TABLE [dbo].[user_Info] (
 [user_ID] [varchar] (15) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [user_PWD] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
 [user_Des] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[bookin] (
 [bookno] [varchar] (14) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [customname] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [customID] [varchar] (18) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [roomno] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [indate] [datetime] NULL ,
 [discount] [float] NULL ,
 [inmemo] [text] COLLATE Chinese_PRC_CI_AS NULL ,
 [checkdate] [datetime] NULL ,
 [ammount] [float] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
CREATE TABLE [dbo].[rooms] (
 [roomNO] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [roomtype] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [roomposition] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
 [roomprice] [float] NULL ,
 [putup] [bit],
 [roommemo] [text] COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
CREATE TABLE [dbo].[roomtype] (
 [typeid] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [typename] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [area] [float] NULL ,
 [bednum] [int] NULL ,
 [haircondition] [bit],
 [htelephone] [bit],
 [htelevision] [bit],
 [htoilet] [bit],
 [price] [float] NULL
) ON [PRIMARY]
GO
INSERT user_Info (user_ID, user_PWD) VALUES ('Administrator', NULL)
GO
 
HotelManageSystem数据设计说明.doc
一,数据库名称: Hotel
1. 用户信息表(user_Info)
字段 数据类型 大小 主/外键 说明
user_ID varchar  15  用户名
user_PWD varchar 10  密码
user_Des varchar  10 
2. 客房信息表(rooms)
字段 数据类型 大小 主/外键 说明
roomNO varchar  10  客房编号
roomtype varchar 10  客房类型
roomposition varchar  20  客房位置
roomprice float   客房单价/每天
putup bit   1表示已有顾客入住
roommemo text   备注信息
3. 订房信息表(bookin)
字段 数据类型 大小 主/外键 说明
bookno varchar 14 
customname varchar 10  顾客姓名
customID varchar 18  身份证号码
roomno varchar  10  客房编号
indate datetime   入住时间
discount float    折扣%
inmemo text   备注信息
checkdate datetime  
ammount float  
4. 客房标准表(roomtype)
字段 数据类型 大小 主/外键 说明
typeid varchar 10  标准编号
typename varchar 10  标准名称
area float   房间面积
bednum int    床位数量
haircondition bit   是否有空调
htelephone bit   是否有电话
htelevision bit   是否有电视
htoilet bit   是否有卫生间
price float   住房单价/每天

SQL S

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值