只可以中远距离协理的办法。作者特别做了二个剧本,用对讲机辅导客户在SSMS里实行一下本子就可以了
EXEC sp_configure 'show advanced options',壹;--张开有个别服务
RECONFIGURE
EXEC SP_CONFIGURE 'XP_CMDSHELL',1;--设置为‘1’
RECONFIGURE
GO
数据库文件过大时将在进行数据分区,正是讲数据库拆分到多少个文件组中。已有利数据文件管理,进步数据库的读取功用,多文件组怎样开始展览数据库的备份和还原呢,明日首要做多文件组数据库的备份和回复实验。
1.0的数据库跟1.壹的数据库的界别是一.一的数据Curry的内部八个[CT_OuterCard]表比一.0的多了四个字段,别的具备表都同样
use master
--检查是或不是留存bbsDB数据库:查询master数据库中的系统表sysdatabases--
IF EXISTS (SELECT * FROM sysdatabases where name='bbsDB')
DROP database bbsDB
EXEC XP_cmdshell'mkdir e:project'--调用DOS命令成立文件夹,后续
/*----建库----*/
create database bbsDB
on
(
/*--数据库德具体讲述--*/
name='bbsDB_data',--主数据库文件的逻辑名
filename='e:projectdataDB_data.mdf',--主数据库文件的大要名称
size=10mb,--主数据库文件的开头大小
filegrowth=百分之十--主数据库文件的增加率
)
LOG ON
(
--日志文件的切切实实讲述,个参数含义同上--
NAME="bbsDB_log",
filename='e:projectdataDB_log.ldf',
size=3mb,
maxsize=20mb,
filegrowth=10%
)
GO
--*********************************************************
exec sp_configure 'show advanced options',一;--关闭那个服务
RECONFIGURE
EXEC SP_CONFIGURE 'XP_CMDSHELL',0;
RECONFIGURE
第一步
再有存款和储蓄进度平添了不少,其余都并未有更换
GO
--上边创立table
use bbsDB
GO
--察看是还是不是存在bbsUsers表
IF EXISTS (SELECT * FROM sysobjects where name='bbsUsers')
drop TABLE bbsUsers
go
--创建表bbsUsers板块表----
CREATE TABLE bbsUsers
(
UID INT IDENTITY (壹,一) NOT NULL,--自动编号,标记列
Uname varchar(50) not null, --昵称
Upassword varchar(15)not null, --密码
Uemail varchar(20) , --邮件
Ubirthday datetime null, --生日
Usex bit NOT NULL, --性别
Uclass INT , --级别(几星级)
Uremark varchar(20) , --备注
UregDate datetime not null, --注册日期
Ustate int null, --状态(是不是禁言)
Upoint int null --几分
)
GO
------------增多封锁---------------
ALTER TABLE bbsUsers ADD CONSTRAINT PK_UID --主键
PRIMARY KEY(UID)
ALTER TABLE bbsUsers ADD CONSTRAINT DF_Upassword--伊始密码默以为多少个八
DEFAULT(888888) for Upassword
ALTER TABLE bbsUsers ADD CONSTRAINT DF_Usex --性别默认为男(①)
DEFAULT(1) FOR Usex
ALTER TABLE bbsUsers ADD CONSTRAINT DF_Uclass --暗中同意等级为一星级
DEFAULT(1) FOR Uclass
ALTER TABLE bbsUsers ADD CONSTRAINT DF_UregDate
DEFAULT(getDate()) for UregDate --注册日期默以为眼今日子
ALTER TABLE bbsUsers ADD CONSTRAINT DF_Ustate --状态默感觉离线
DEFAULT(0) FOR Ustate
ALTER TABLE bbsUsers ADD CONSTRAINT DF_Upoint --暗中同意积分为20点
DEFAULT(20) FOR Upoint
ALTER TABLE bbsUsers ADD CONSTRAINT CK_Uemail --必须包好'@'字符
CHECK(Uemail like '%@%.%')
ALTER TABLE bbsUsers ADD CONSTRAINT CK_Upassword--密码至少5位
CHECK(LEN(Upassword)>=6)
GO
-----------测试表--------------
--插入测试数据
INSERT INTO bbsUsers(Uname,Upassword,Uemail,Ubirthday,Uremark,Upoint)
VALUES('王立勋','wanglixun','wang@1陆三.com','一九八5-7-9','大家要好好学习',十0)
INSERT INTO bbsUsers(Uname,Upassword,Uemail,Ubirthday,Uremark,Upoint)
VALUES('可卡因','HYXS007','SS@HotMail.com','一9八零-7-九','小编要去公安分公司自首',200)
INSERT INTO bbsUsers(Uname,Upassword,Uemail,Ubirthday,Uremark,Upoint)
VALUES('心酸果冻','88888捌','yy@HotMail.com','一玖七八-0二-1二','走遍天涯海角...',100)
INSERT INTO bbsUsers(Uname,Upassword,Uemail,Ubirthday,Uremark,Upoint)
VALUES('冬篱儿','fangdong','bb@sohu.com','1980-十-0三','迷失在网络里...',100)
INSERT INTO bbsUsers(Uname,Upassword,Uemail,Ubirthday,Uremark,Upoint)
VALUES('Super','master','dd@p.com','1977-05-16','BBS大斑竹...',100)
delete from bbsUsers where Uname='王立勋'
--------查询结果----------
select * FROM bbsUsers --查询结果
GO
-----------阶段肆————创制表并加多约束-------------
USE bbsDB
IF EXISTS(SELECT * FROM sysobjects where name='bbsSection')
drop table bbsSection
-----创建bbsSection表------
CREATE TABLE bbsSection
(
SID INT IDENTITY(一,壹)NOT NULL, --版块号码,自动增进
Sname VALX570CHA陆风X捌(3贰) not null, --版块名称
SmasterID INT NOT NULL, --版主ID 引用用户表UID
Sprofile varchar(60) null, --版面介绍
SclickCount int null, --点击率
StopicCount int null --发帖数
)
GO
-----------------为表bbsSection增多约束-----------------------
ALTER TABLE bbsSection ADD CONSTRAINT PK_SID --设置主健
PRIMARY KEY(SID)
ALTER TABLE bbsSection ADD CONSTRAINT
FK_SmasterID --设置外健引用用户表的UID
FOREIGN KEY(SmasterID)REFERENCES bbsUsers(UID)
ALTER TABLE bbsSection ADD CONSTRAINT DF_SclickCount --设置暗中同意点击率
DEFAULT(0) FOR SclickCount
ALTER TABLE bbsSection ADD CONSTRAINT
DF_StopicCount --设置发帖数的默许值
DEFAULT(0) FOR StopicCount
--测试--
INSERT INTO
bbsSection(Sname,SmasterID,Sprofile,SclickCount,StopicCount)
VALUES('java技术',3,'论坛java技术,包括J2EE,J2ME,J2SE.....',500,1)
INSERT INTO
bbsSection(Sname,SmasterID,Sprofile,SclickCount,StopicCount)
VALUES('.NET技术',5,'论坛Web ServiceXML,NET
Remotion,Duwami.....',800,1)
INSERT INTO
bbsSection(Sname,SmasterID,Sprofile,SclickCount,StopicCount)
VALUES('11',3,'论坛java技术,包括J2EE,J2ME,J2SE.....',500,1)
INSERT INTO
bbsSection(Sname,SmasterID,Sprofile,SclickCount,StopicCount)
VALUES('11',3,'论坛java技术,包括J2EE,J2ME,J2SE.....',500,1)
delete from bbsSection where Sname='11'
INSERT INTO
bbsSection(Sname,SmasterID,Sprofile,SclickCount,StopicCount)
VALUES('Linux/Unix社区',5,'包括系统一保险证与使用区,程序开采区,内核及.....',500,一)
GO
----------------------查询bbsSection表是或不是成功---------------------------
select * from bbsSection
--------------------------创建bbsTopic主贴表------------------------------
USE bbsDB
IF EXISTS (SELECT * FROM sysobjects where name='bbsTopic')
DROP TABLE bbsTopic
CREATE TABLE bbsTopic
(
TID INT IDENTITY(1,一) NOT NULL, --帖子编号,自动增进
TsID INT NOT NULL, --版块号码外健,引用版块的SID
TuID INT NOT NULL, --发帖人ID 引用用户表UID
TreplyCount int null, --回复数量
Tface int null, --发帖表情
Ttopic varchar(20) not null, --标题
Tcontents varchar(30) not null, --正文,必须大于五个字符
Ttime datetime null, --发帖时间
TclickCount int null, --点击数
Tstate int not null, --状态,例如是不是被锁,是还是不是为出色帖
TlastReply datetime null --最终回复时间,必须晚于发帖时间
)
GO
----------------------为bbsTopic表加多约束---------------------
ALTER TABLE bbsTopic ADD CONSTRAINT PK_TID --设置主健
PRIMARY KEY(TID)
ALTER TABLE bbsTopic ADD CONSTRAINT
FK_TsID --设置外健引用bbsSection表中的SID
FOREIGN KEY(TsID) REFERENCES bbsSection(SID)
ALTER TABLE bbsTopic ADD CONSTRAINT
FK_TuID --设置外健引用bbsUsers表中的UID
FOREIGN KEY(TuID) REFERENCES bbsUsers(UID)
ALTER TABLE bbsTopic add constraint DF_TreplyCount --默认为0 回复数
DEFAULT(0) FOR TreplyCount
ALTER TABLE bbsTopic add constraint
CK_Tcontents --正文必须大于五个字符
check(len(Tcontents)>6)
ALTER TABLE bbsTopic ADD CONSTRAINT DF_Ttime --发帖时间默以为当天时光
DEFAULT(GETDATE()) FOR Ttime
ALTER TABLE bbsTopic ADD CONSTRAINT DF_TclickCount --设置点击数暗许值
DEFAULT(0) FOR TclickCount
ALTER TABLE bbsTopic ADD CONSTRAINT
DF_Tstate --设置是不是是被锁是或不是为优良
DEFAULT(1) FOR Tstate
GO
-------------------向bbsTopic表中插入数据------------------------
insert into bbsTopic
(TsID,TuID,TreplyCount,Tface,Ttopic,Tcontents,TclickCount,Tstate,TlastReply)
values(一,三,贰,1,'依然jsp中的难点','jsp文件中读取....',200,1,2006-十-11)
insert into bbsTopic
(TsID,TuID,TreplyCount,Tface,Ttopic,Tcontents,TclickCount,Tstate,TlastReply)
values(二,二,0,2,'安顿.net中的难点','项目包涵windows....',200,1,二零零五-十-1二)
---------检查bbsTopic表是还是不是建成-----------
select * from bbsTopic
----------------------创建bbs的Reply回帖表-----------------------------
USE bbsDB
IF EXISTS (SELECT * FROM sysobjects where name='bbsReply')
DROP TABLE bbsReply
CREATE TABLE bbsReply
(
福睿斯ID INT IDENTITY(1,一) NOT NULL, --自动编号,帖子编号
宝马X5tID INT NOT NULL, --主贴ID外健引用主贴表中的TID
福特ExplorersID INT NOT NULL, --版块ID外健引用版块表中的SID
RuID INT NOT NULL, --回帖人ID 外健引用用户标中的UID
卡宴face int null, --回帖表请
逍客contents varchar(30) not null, --正文,必须大于6个字符
Kugatime datetime null, --回帖时间
RclickCount int null --点击数
)
GO
----------------------加多bbsReply表的束缚------------------------
ALTER TABLE bbsReply add CONSTRAINT PK_福睿斯ID --设置主健
PRIMARY KEY(RID)
ALTER TABLE bbsReply ADD CONSTRAINT FK_本田CR-VtID --设置外健
FOREIGN KEY(RtID) REFERENCES bbsTopic(TID)
ALTER TABLE bbsReply ADD CONSTRAINT FK_福特ExplorersID --设置外健
FOREIGN KEY(RsID) REFERENCES bbsSection(SID)
ALTER TABLE bbsReply ADD CONSTRAINT FK_RuID --设置外健
FOREIGN KEY(RuID) REFERENCES bbsUsers(UID)
ALTER TABLE bbsReply ADD CONSTRAINT CK_凯雷德contents
--正文必须大于四个字符
CHECK(LEN(Rcontents)>6)
ALTER TABLE bbsReply ADD CONSTRAINT
DF_帕杰罗time --设置回帖时间必须是当天的时光
DEFAULT(getDate()) for Rtime
GO
----------------向表bbsReply中增多数据----------------------
insert into bbsReply(RtID,RsID,RuID,Rface,Rcontents,RclickCount)
values(一,一,伍,二,'数据库连接池在......',100)
insert into bbsReply(RtID,RsID,RuID,Rface,Rcontents,RclickCount)
values(1,1,4,4,'public static Data......',200)
insert into bbsReply(RtID,RsID,RuID,Rface,Rcontents,RclickCount)
values(1,1,5,2,'***123412341234',100)
insert into bbsReply(RtID,RsID,RuID,Rface,Rcontents,RclickCount)
values(1,1,5,2,'***123412341234',100)
insert into bbsReply(RtID,RsID,RuID,Rface,Rcontents,RclickCount)
values(2,二,2,三,'帮测试人士架AS......',0)
delete from bbsReply where Rcontents='***123412341234'
-----------察看创造的bbsReply回帖表是还是不是建成-------------
SELECT * FROM bbsReply
GO
-------------------------第三章---------------------------------------
----使用系统变量,查询数据库系统的处境----
use bbsDB
print 'SQL Serve的版本: ' @@version
print '服务器的称号: ' @@servername
update bbsUsers set Upassword='1234' where Uname
='可卡因'--密码违反约束
print '推行上条语句产生的一无所长号 是: ' convert(varchar(5),@@error)
GO
------------使用变量和if-else语句,版主察看"可卡因"的情事-------------
set nocount on --不突显T-SQL语句影响的fe行数消息
print '' --为了展现方便,打字与印刷一行空行
print'个人资料如下:'
select 别称=Uname,登记=Uclass,个人表明=Uremark,积分=Upoint
from bbsUsers where Uname='可卡因'
go
declare @point int --定义变量
DECLARE @userID INT --定义变量 用途与寄存用户号码值
select @userID=UID,@point=Upoint FROM bbsUsers where
创建数据库qhw_test 数据库包罗3个userinfo 数据表,userinfo数据表依据id做分区 包涵二个主分区
先是,先在信用合作社的服务器数据库上转换存款和储蓄进程脚本,数据库是一.一本子的,上面包车型客车图样里不曾表明的,都以默许设置,下一步就能够
Uname='可卡因'--变量赋值
print'可卡因发帖如下:'
select
发帖时间=convert(varchar(十),Ttime,11一), --111表示按年/月/日格式转变
点击率=TclickCount,主题=Ttopic,内容=Tcontents from bbsTopic
print '可卡因回帖如下: '
select 回帖时间=convert(varchar(⑩),君越time,111),点击率=中华VclickCount,
回帖内容=奥迪Q叁contents from bbsReply where RuID=@userID
IF(@point>30)
PLANDINT '可卡因的权柄:有权发帖'
else
print '可卡因的权限:无权发帖'
go
GO
-------------------ASDF;ASDKJF;LKJAS;DFAS;F;SAKDJF;LKJAS;DLFJ;LKJ----------------
use bbsDB
set nocount on
print'开端提分,请稍候......'
declare @score int, @avg int --定义变量:提分值和平均分
set @score=0
while(1=1)
begin
update bbsUsers set Upoint=Upoint 50 where
Ustate<>四 --除了被封闭扼杀的用户外
set @score=@score 50 --累计提分值
select @avg=avg(Upoint) from bbsUsers --获取提分后的品均分
if(@avg>2000)
break
END
P瑞虎INT '进步分值:' convert(varchar(八),@score)
------提分后,更新用户的对应的注册(星级)--------
UPDATE bbsUsers
set Uclass =CASE
WHEN Upoint<500 then 1
WHEN Upoint BETWEEN 500 AND 1000 THEN 2
WHEN Upoint between 1001 and 2000 then 3
WHEN Upoint between 2001 and 4000 then 4
WHEN Upoint between 4001 and 5000 then 5
else 6
END
P揽胜INT('-----------------加分后的用户品级--------------------')
select 昵称=Uname,星级=CASE
WHEN Uclass=0 then ''
WHEN Uclass =1 then '★'
WHEN Uclass =2 then '★★'
WHEN Uclass =3 then '★★★'
WHEN Uclass =4 then '★★★★'
WHEN Uclass =5 then '★★★★★'
else '★★★★★★'
END
,积分=Upoint FROM bbsUsers
go
--------------------------------演习部分-----------------------------use
bbsDB
set nocount on
declare @index int
select @index=StopicCount from bbsSection where SmasterId=3
if(@index>0)
begin
print '心酸果冻发帖数:' convert(varchar(肆),@index) ',帖子如下'
select 发贴时间=Ttime,点击率=TclickCount,核心=Ttopic,内容=Tcontents from
bbsTopic where TuID=3
end
DECLARE @index2 INT
select @index2=TreplyCount from bbsTopic where TuID=3
print'心酸果冻回贴数:' convert(varchar(4),@index二)
declare @sum int
select @sum=count(Ttopic) from bbsTopic where TuID=3
PavancierINT'心酸果冻贴数总结:' convert(varchar(4),@sum) '贴' ' 功臣等第:
' case
when @sum<10 then '菜鸟上路'
when @sum between 10 and 20 then '侠客'
WHEN @sum BETWEEN 21 AND 30 THEN '骑士'
WHEN @sum between 31 and 40 then '精灵王'
WHEN @sum between 4一 and 50 then '光明大使'
when @sum >50 then '法老'
END
GO
--------------------作业有的---------------------
USE bbsDB
SET NOCOUNT ON
declare @index int
PCRUISERINT '第三杰出贴的音讯如下:'
select @index=TreplyCount from bbsTopic where TuID=3
select
发帖时间=convert(varchar(十),Ttime,1二1),点击率=TclickCount,作者=Uname,核心=Ttopic,内容=Tcontents
from bbsTopic,bbsUsers where bbsUsers.UID=bbsTopic.TuID AND
bbsTopic.TuID=叁
print '回贴数:' convert(varchar(四),@index) ',如下所示:'
select 回贴时间=convert(varchar(十),LANDtime,12一),点击率=RubiconclickCount,
回复表情=case
when Rface=1 then '^(oo)^猪头'
when Rface=2 then '*:o)小丑'
when Rface=3 then '[:|]机器人'
when Rface=4 then '{^o~o^}老人家'
when 大切诺基face=5 then '(:<)吹水大王'
END
,回贴内容=宝马X3contents from bbsReply where LX570sID=一
,七个次分区,主分区包涵qhw_test,data2多少个文件,
入选数据库-》右键—》职务-》生成脚本
GO
-----------------------------第四章部分------------------------------------------
use bbsDB
GO
SET NOCOUNT ON
P途乐INT
'-->>>>>>各位大虾注意了,本论坛将要发表今年度无记名评奖<<<<<<--'
--评估总体知名度:如若论坛的总点击率〉一千,人气较旺
if(select sum(SclickCount) from bbsSection)>1000
print '论坛人气年度评估:熊旺旺,大家劳累了!'
else
print '飞论坛名气年度评估:一般般 ,大家加油哟!'
--评选品牌板块和倒胃半宽:主贴数量最多和最少的版块--
print '年度品牌版块:'
select 版块名称=Sname,主贴数量=StopicCount,简单介绍=Sprofile from
bbsSection
where StopicCount=(select max(StopicCount) from bbsSection)
print'年度倒胃板块:'
select 版块名称=Sname,主贴数量=StopicCount,简要介绍=Sprofile from
bbsSection
where StopicCount=(select min(StopicCount) from bbsSection)
--评选回帖人气最旺的钱两名小编
print '年度回帖名气最IN的前两名获奖小编:'
Select 大名=Uname,星级=Uclass FROM bbsUsers
where UID IN (SELECT TOP 2 TuID FROM bbsTopic ORDER by TclickCount
DESC)
--评选最差版主: 假设存在发帖量为0或低于500的版主,则评选最差的版主
IF EXISTS(SELECT * FROM bbsSection where StopicCount=0 or
SclickCount<=500)
BEGIN PPRADOINT '请下列版块的版主加加油!'
select 版块名称=Sname,主贴数量=StopicCount,点击率=SclickCount FROM
bbsSection where StopicCount=0 or SclickCount<=500
end
go
------------------------------发贴部分-------------------------------
/*--发主贴
心酸果冻在.NET本领版块
怯怯地问:什么是.NET阿?
微软的.NET
--*/
use bbsDB
set NOCOUNT ON
DECLARE @userID VARCHAR(10), @Sid int
select @userID=UID FROM bbsUsers where
Uname='心酸果冻'--获取心酸果冻的id
select @sID=SID FROM bbsSection where Sname like'%.NET技术%'
--将'心酸果冻'的发帖插入主贴表
print 'DFDF ' convert(varchar(8),@sID)
insert into bbsTopic (TsID,TuID,Tface,Ttopic,Tcontents)
values(@sID,@userID,三,'什么是.Net啊?','微软的.Net广告超过半个.')
--更新版块表:.NET本事版块主贴标数 一
UPDATe bbsSection set StopicCount=StopicCount 1 where sid=@sID
--更新用户积分:假诺是新大旨,则积分扩充100,不然扩展50
if not exists(select * from bbsTopic where Ttopic like
'什么是.Het啊?')
update bbsUsers set Upoint=Upoint 100 where UID=@userID
ELSE
UPDATE bbsUsers set Upoint=Upoint 50 where UID=@userID
--更新用户的积分后,跟新相应的品级
UPDATE bbsUsers set Uclass =case
when Upoint <500 then 1
When Upoint BETWEEN 500 AND 1000 THEN 2
WHEN Upoint BETWEEN 1001 AND 2000 THEN 3
WHEN Upoint BETWEEN 2001 AND 4000 THEN 4
WHEN Upoint BETWEEN 4001 AND 5000 THEN 5
ELSE 6
END
WHERE UID=@userID
--对外发布"心酸果冻"的发帖(使用系统变量@@IDENTITY查看刚才插入的编号值)
select 发贴作者='心酸果冻',发贴时间=convert(varchar(十),Ttime,11一),
主题=Ttopic,内容=Tcontents from bbsTopic where TID =@@IDENTITY
--呈现近些日子的最新排行榜
select 昵称=Uname,星级=case
when Uclass=0 then ''
when Uclass=1 then '★'
when Uclass=2 then '★★'
when Uclass=3 then '★★★'
when Uclass=4 then '★★★★'
when Uclass=5 then '★★★★★'
else '★★★★★★'
END
,积分=Upoint from bbsUsers
go
-----------------------------------------回贴部分---------------------------------------
USE bbsDB
SET NOCOUNT ON
declare @userID INT,@SID INT,@TID INT, @woID INT
SELECT @userID=tUID,@SID=TsID,@TID=TID FROM bbsTopic where Ttopic like
'%什么是.Net啊?%'
SELECT @woID=UID FROM bbsUsers where Uname='可卡因'
print '主贴人id: ' convert(varchar(4),@userID) ' 版块类型id:
' convert(varchar(肆),@SID) ' 帖子id :' convert(varchar(四),@TID) '
回帖人id: ' convert(varchar(4),@woID)
--发出了回贴
INSERT INTO bbsReply(RtID,RsID,RuID,Rface,Rcontents,RclickCount)
values(@TID,@SID,@woID,一,'.Ner是微软力推的信用合作社。。。',一)
--更新主贴音讯
update bbsTopic set
TreplyCount=TreplyCount 1,TclickCount=TclickCount 1,TlastReply=getdate()
where TID=@TID
--版块更新点击率 壹
update bbsSection set SclickCount=SclickCount 1 where SID=@SID
--用户回贴后将用户积分加加,要是是做主贴的第2遍复人将加拾0 不然将加50
update bbsUsers set Upoint=case
when (select TreplyCount from bbsTopic WHERE TID=@TID)<1 then
Upoint 100
else Upoint 50
end
where UID=@woID
update bbsUsers set Uclass=case
when Upoint < 500 then 1
when Upoint between 500 and 1000 then 2
when Upoint between 1001 and 2000 then 3
when Upoint between 2001 and 4000 then 4
when Upoint between 4001 and 5000 then 5
else 6
end
select 昵称=Uname,星级=case
when Uclass=0 then ''
when Uclass=1 then '★'
when Uclass=2 then '★★'
when Uclass=3 then '★★★'
when Uclass=4 then '★★★★'
when Uclass=5 then '★★★★★'
else '★★★★★★'
END
,积分=Upoint from bbsUsers
P福特ExplorerINT '主贴内容如下: '
SELECT
贴子编号=TID,标题=Ttopic,内容=Tcontents,发贴时间=Ttime,点击数=TclickCount
from bbsTopic where tid=@TID
print '回贴内容如下: '
select 贴子编号=rid,回复表情=case
when Rface=1 then '^(oo)^猪头'
when Rface=2 then '*:o)小丑'
when Rface=3 then '[:|]机器人'
when Rface=4 then '{^o~o^}老人家'
when CR-Vface=伍 then '(:<)吹水大王'
END
,回贴内容=福睿斯contents,回贴时间=途胜time,点击数=昂CoraclickCount from bbsReply
where RtID=@TID
--print '错误是号: ' convert(varchar(四),@@IDENTITY)
go
---------------第陆章上机作业------------
use bbsDB
SET NOCOUNT ON
DECLARE @TID INT,@TsID INT,@TuID INT,@count int,@RuID INT--定义变量
--以下是收取非法贴子的关联音信--
SELECT @TsID=TsID,@TID=TID,@TuID=TuID,@count=TreplyCount from bbsTopic
where Ttopic like '%什么是.Net啊?%'
print '贴子版块id 是:' convert(varchar(四),@tID) '
贴子编号是:' convert(varchar(4),@tID) ' 发贴人id:
' convert(varchar(4),@TuID) ' 点击数: ' convert(varchar(四),@count)
SELECT @RuID=RuID FROM bbsReply where RtID=@tID--收取回贴人的id
PRINT '回贴人ID: ' convert(varchar(4),@RuID)
--先删除跟贴--
delete from bbsReply where RtID=@TID
--回贴人几分减去50--
update bbsUsers set Upoint=Upoint-50 where UID=@RuID
--删除主贴--
DELETE from bbsTopic where TID=@TID
--扣掉主贴人的积分100--
update bbsUsers set Upoint=Upoint-100 where UID=@RuID
--贴子版块主贴量-1
update bbsSection set StopicCount=StopicCount-1 where SID=@TsID
--察看难题的首要假设回贴数量>十,负面影响非常的大,严重警告--
if (@count>10)
print'你那一个...那么些..这些主题素材相当的惨重,未来授予你严重警告2回,如有再犯,将消除本论坛!'
else
print '给予一般警告,剧情严重将炒才鱼本论坛!'
select 昵称=Uname,星级=case
when Upoint=0 then ''
when Upoint<500 then '★'
when Upoint between 500 and 1000 then '★★'
when Upoint between 1001 and 2000 then '★★★'
when Upoint between 2001 and 4000 then '★★★★'
when Upoint between 4001 and 5000 then '★★★★★'
else '★★★★★★'
end
,积分=Upoint from bbsUsers
go
数量表脚本如下
CREATE TABLE [dbo].[userinfo](
[Id] [int] IDENTITY(1,1) NOT NULL,
[UserName] [varchar](50) NOT NULL,
[CreateTime] [datetime] NOT NULL,
CONSTRAINT [PK_userinfo] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
理当如此,假设你的数据Curry有自定义函数的话,也得以勾选函数,假若大家的数据库未有函数,所以。。。
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[userinfo] ADD CONSTRAINT [DF_userinfo_UserName] DEFAULT ('') FOR
封存到新建查询窗口
[UserName]
GO
ALTER TABLE [dbo].[userinfo] ADD CONSTRAINT [DF_userinfo_CreateTime] DEFAULT (getdate())
这一步做完了,然后编写上面包车型大巴SQL脚本
FOR [CreateTime]
GO
复制代码 代码如下:
往数据表中写入数据
--进级GPOS壹.0到GPOS1.一数据库的提高脚本 2013-7-四
USE [GPOSDB]
GO
------------------删除全体存款和储蓄过程-------------------
--select * from sys.procedures
第二部
declare @sql varchar(4000)
set @sql=''
select @sql=@sql 'drop proc ' name '; ' from sys.procedures
--print @sql
exec(@sql)
下一场实施数据库备份
--------------------------------在[CT_OuterCard]表添加6个字段-------------------------------
ALTER TABLE [dbo].[CT_OuterCard] ADD [I_LimitTransCurrCount]
INT NOT NULL CONSTRAINT [DF_CT_OuterCard_I_LimitTransCurrCount]
DEFAULT ((0))
ALTER TABLE [dbo].[CT_OuterCard] ADD [I_LimitTransType] [int]
CONSTRAINT [DF_CT_OuterCard_I_LimitTransType] DEFAULT ((0))
ALTER TABLE [dbo].[CT_OuterCard] ADD [DE_LimitTransTotal]
[decimal](18, 2) NOT NULL CONSTRAINT
[DF_CT_OuterCard_DE_LimitTransTotal] DEFAULT ((0))
ALTER TABLE [dbo].[CT_OuterCard] ADD [DE_LimitTransCurrTotal]
[decimal](18, 2) NOT NULL CONSTRAINT
[DF_CT_OuterCard_DE_LimitTransCurrTotal] DEFAULT ((0))
ALTER TABLE [dbo].[CT_OuterCard] ADD [I_LimitCarNo] [int] NOT
NULL CONSTRAINT [DF_CT_OuterCard_I_LimitCarNo] DEFAULT ((0))
ALTER TABLE [dbo].[CT_OuterCard] ADD [D_LimitDate] [datetime]
NOT NULL CONSTRAINT [DF_CT_OuterCard_D_LimitDate] DEFAULT
使用完整备份形式3次备份数据库文件,先备份主分区,3回备份别的次分区,最终做政工日志备份
(getdate())
--把刚刚在新建查询窗口里转换的累积进度脚本粘贴到上面
---------------------------成立GPOS壹.壹的有着存款和储蓄进程---------------------------------------------
USE [GPOSDB]
GO
/****** 对象: StoredProcedure
[dbo].[Report_GreaserSaleStat] 脚本日期: 07/04/20一三 壹叁:27:09
******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROC [dbo].[Report_GreaserSaleStat]
@StartDate datetime,
@EndDate datetime,
@Action int --0为贸易记录,1为车次记录
insert into #tmpCardAmoutStat
(
VC_OC_CardNO,
set @i=@i 1
end
truncate table #tmpCards
insert into #tmpCards(VC_OC_CardNO)
select VC_OC_CardNO from CT_OuterCard where
isnull(VC_OC_Company,'')=''
set @j=1
select @cardcount=count(*) from #tmpCards
while @j<=@cardcount
begin
select @VC_OC_CardNO=VC_OC_CardNO from #tmpCards where
IndexId=@j
insert into #tmpCardAmoutStat
(
VC_OC_CardNO,
insert into #tmpCardAmoutStat
(
VC_OC_CardNO,
CompanyName,
VC_OC_UserName,
StartAmount,
FillMoney,
ConsumeSumVol,
ConsumeMoney,
SumConsumeSumVol,
SumConsumeMoney,
SumFillMoney
)
select
null,
null,
'客户卡小计',
sum(StartAmount),
sum(FillMoney),
sum(ConsumeSumVol),
truncate table #tmpCards
insert into #tmpCards(VC_OC_CardNO)
select VC_IC_CardNO from CT_InhouseCard where
isnull(VC_IC_CardNO,'')<>''
set @j=1
select @cardcount=count(*) from #tmpCards
while @j<=@cardcount
begin
select @VC_OC_CardNO=VC_OC_CardNO from #tmpCards where
IndexId=@j
insert into #tmpCardAmoutStat
(
VC_OC_CardNO,
CompanyName,
VC_OC_UserName,
StartAmount,
FillMoney,
ConsumeSumVol,
ConsumeMoney,
SumConsumeSumVol,
SumConsumeMoney,
SumFillMoney
)
select
@VC_OC_CardNO,
'员工卡',
isnull((select VC_IC_UserName from CT_InhouseCard
where VC_IC_CardNO=@VC_OC_CardNO),''),
isnull((select top 1 DE_FD_Amount from CT_FuelingData
where VC_FD_Cardno=@VC_OC_CardNO and
(D_FD_DateTime<=@StartDate) order by D_FD_DateTime desc),0),
isnull((select sum(DE_A_AppendAmount) from CT_Append
where VC_A_CardNO=@VC_OC_CardNO and (D_A_AppendDateTime between
@StartDate and @EndDate)),0),
isnull((select sum(DE_FD_Volume) from CT_FuelingData
where VC_FD_Cardno=@VC_OC_CardNO and (D_FD_DateTime between
@StartDate and @EndDate)),0),
isnull((select sum(DE_FD_Amount) from CT_FuelingData
where VC_FD_Cardno=@VC_OC_CardNO and (D_FD_DateTime between
@StartDate and @EndDate)),0),
isnull((select sum(DE_FD_Volume) from CT_FuelingData
where VC_FD_Cardno=@VC_OC_CardNO),0),
isnull((select sum(DE_FD_Amount) from CT_FuelingData
where VC_FD_Cardno=@VC_OC_CardNO),0),
isnull((select sum(DE_A_AppendAmount) from CT_Append
where VC_A_CardNO=@VC_OC_CardNO),0)
set @j=@j 1
end
insert into #tmpCardAmoutStat
(
VC_OC_CardNO,
CompanyName,
VC_OC_UserName,
StartAmount,
FillMoney,
ConsumeSumVol,
ConsumeMoney,
SumConsumeSumVol,
SumConsumeMoney,
SumFillMoney
)
select
null,
null,
'职员和工人卡小计',
sum(StartAmount),
sum(FillMoney),
sum(ConsumeSumVol),
sum(ConsumeMoney),
sum(SumConsumeSumVol),
sum(SumConsumeMoney),
sum(SumFillMoney)
from
#tmpCardAmoutStat
where
CompanyName='员工卡'
---总计职员和工人卡汇计算束---
end
----总括总汇总起来---
insert into #tmpCardAmoutStat
(
VC_OC_CardNO,
CompanyName,
VC_OC_UserName,
StartAmount,
FillMoney,
ConsumeSumVol,
ConsumeMoney,
SumConsumeSumVol,
SumConsumeMoney,
SumFillMoney
)
select
null,
null,
'总计',
sum(StartAmount),
sum(FillMoney),
sum(ConsumeSumVol),
sum(ConsumeMoney),
sum(SumConsumeSumVol),
sum(SumConsumeMoney),
sum(SumFillMoney)
from
#tmpCardAmoutStat
where
(VC_OC_UserName='客户卡小计' or VC_OC_UserName='员工卡小计')
and VC_OC_CardNO is null
update #tmpCardAmoutStat set
EndAmount=StartAmount FillMoney-ConsumeMoney
---计算总汇总计束---
select * from #tmpCardAmoutStat
drop table #tmpCards
drop table #tmpCompanys
drop table #tmpCardAmoutStat
GO
--其余存款和储蓄进度轻便。。。。。。。。。。。
然后把那些本子发给客户,让客户在SSMS里进行一下就能够了
理当如此固然某个表的主键更动了也很简短,使用alter table alter column语句修改一下就足以了
如有不对的地点,接待大家拍砖o(∩_∩)o
备份完结后,将备份文件转移至另1台机械
你恐怕感兴趣的篇章:
- sqlserver数据库移动数据库路线的本子示例
- sqlserver数据库大型应用化解方案经验总括
- 将ACCESS数据库迁移到SQLSE汉兰达VESportage数据库二种方法(图像和文字详解)
- SQLSELacrosseVEXC60数据库备份后不或者苏醒的化解办法
- sqlserver数据库现身置疑的消除思路
- SQLSEXC90VE奥迪Q3数据库中的517三荒谬化解方法
- 将备份的SQLServer数据库转变为SQLite数据库操作方法
- sqlserver数据库主键的转移情势小结(sqlserver,mysql)
- 重命名SQLServer数据库的主意
- 机动定期备份sqlserver数据库的章程
- sqlserver数据库导入数据操作详解(图)
第三部
进行复原操作,先还原主分区,依次还原次分区,还原事情日志,注意NORECOVE安德拉Y,
RESTORE DATABASE qhw_test FILEGROUP = 'PRIMARY' FROM DISK = 'D:bakbakqhw_test1.bak'
WITH FILE = 1,
move 'qhw_test' to 'd:bakqhw_test.mdf',
move 'data2' to 'd:bakdata2.ndf',
move 'qhw_test_log' to 'd:bakqhw_test_log.ldf'
,
NORECOVERY,REPLACE,STATS = 10
RESTORE DATABASE qhw_test FILEGROUP = 'g1' FROM DISK =
'D:bakbakg1.bak' WITH FILE = 1,
move 'g1' to 'd:bakg1.ndf',
NORECOVERY,REPLACE,STATS = 10
RESTORE DATABASE qhw_test FILEGROUP = 'g2' FROM DISK =
'D:bakbakg2.bak' WITH FILE = 1,
move 'g2' to 'd:bakg2.ndf',
NORECOVERY,REPLACE,STATS = 10
RESTORE DATABASE qhw_test FILEGROUP = 'g3' FROM DISK =
'D:bakbakg3.bak' WITH FILE = 1,
move 'g3' to 'd:bakg3.ndf',
NORECOVERY,REPLACE,STATS = 10
RESTORE DATABASE qhw_test FILEGROUP = 'g4' FROM DISK =
'D:bakbakg4.bak' WITH FILE = 1,
move 'g4' to 'd:bakg4.ndf',
NORECOVERY,REPLACE,STATS = 10
RESTORE DATABASE qhw_test FILEGROUP = 'g5' FROM DISK =
'D:bakbakg5.bak' WITH FILE = 1,
move 'g5' to 'd:bakg5.ndf',
NORECOVERY,REPLACE,STATS = 10
RESTORE LOG qhw_test
FROM DISK = 'D:bakbaklog.bak'
WITH NORECOVERY
GO
RESTORE DATABASE qhw_test
WITH RECOVERY
RESTORE DATABASE [' @DataBaseName ']
WITH RECOVERY
本文由www.204.net发布,转载请注明来源
关键词: www.204.net