sqlserver的学习成长之路,每一个技术的学习过程都是值得让人回味的,现在百度上关于sqlser的资料很多,但是都太杂,希望能为大家分享一点简单易懂的干货,跟大家一起进步学习。

一、建表

    1、创建表stu_paper(各种常用的类型的字段都有)

IF NOT EXISTS (SELECT * FROM SYSOBJECTS WHERE NAME = 'stu_paper' AND TYPE = 'U')
BEGIN
--问卷表
CREATE TABLE stu_paper(
P_ID int IDENTITY(,) primary key NOT NULL,
TITLE VARCHAR() default '' NOT NULL,
START_TIME datetime default getdate() NOT NULL,
SHOW_CONTENT int default NOT NULL,
USER_NUM bigint default NOT NULL,
FLAG int default NOT NULL ,
NTAG1 numeric(,),
)
END
GO

   2、创建表stu

IF NOT EXISTS (SELECT * FROM SYSOBJECTS WHERE NAME = 'stu' AND TYPE = 'U')
BEGIN
--问卷表
CREATE TABLE stu(
P_ID int IDENTITY(,) primary key NOT NULL,
TITLE VARCHAR() default '' NOT NULL,
START_TIME datetime default getdate() NOT NULL,
SHOW_CONTENT int default NOT NULL,
USER_NUM bigint default NOT NULL,
FLAG int default NOT NULL ,
NTAG1 numeric(,),
)
END
GO

二、为表stu_paper增加字段

 alter table dbo.stu_paper add age int default  not null;
alter table dbo.stu_paper add name VARCHAR() default '' not null;

三、修改表stu_paper中的字段name 的长度为varchar(256)

 alter table stu_paper  alter column name varchar();

四、存储过程

  1、创建存储过程,将将表stu_paper中数据同步到表stu中

 CREATE PROC [DBO].[PRO_STUPAPER]
AS
IF EXISTS(SELECT COUNT(*) FROM DBO.stu_paper)
BEGIN
DELETE FROM DBO.stu_paper;
INSERT INTO DBO.stu(TITLE,START_TIME,SHOW_CONTENT,USER_NUM,FLAG,NTAG1)
SELECT TITLE,START_TIME,SHOW_CONTENT,USER_NUM,FLAG,NTAG1 FROM DBO.stu_paper;
END
GO

  2、执行存储过程

 EXEC DBO.PRO_STUPAPER
GO

  3、通过创建存储过程建表

--创建建立3个表的存储过程
CREATE PROC [DBO].[CREATETABLE](@PITYPE TINYINT,@PIYM INT)
AS
--1-短信历史表;2-彩信历史表;3-短信上行历史表;
BEGIN
DECLARE @STR NVARCHAR(4000);
DECLARE @TABLENAME VARCHAR(16); IF @PITYPE=1
BEGIN
SET @TABLENAME='MTTASK'+CAST(@PIYM AS VARCHAR(6));
SET @STR='CREATE TABLE '+@TABLENAME+'(
ID BIGINT NOT NULL,
USERID VARCHAR(11) NOT NULL,
AREACODE INT NOT NULL DEFAULT ((0))
)'
END;
ELSE IF @PITYPE=2
BEGIN
SET @TABLENAME='MOTASK'+CAST(@PIYM AS VARCHAR(6));
SET @STR='CREATE TABLE '+@TABLENAME+'(
ID BIGINT NOT NULL,
MDAY INT NOT NULL,
AREACODE INT NOT NULL DEFAULT ((0))
)'
END;
ELSE
BEGIN
SET @TABLENAME='MRTASK'+CAST(@PIYM AS VARCHAR(6));
SET @STR='CREATE TABLE '+@TABLENAME+'(
ID BIGINT NOT NULL,
MDAY INT NOT NULL,
AREACODE INT NOT NULL DEFAULT ((0))
)'
END;
--动态执行sql语句
EXEC SP_EXECUTESQL @STR;
END;
--循环调用上面存储过程CREATETABLE
DECLARE @J INT,@SPTIME DATETIME,@PIYM VARCHAR(6),@PITYPE INT;
SET @J=0;
SET @SPTIME=GETDATE(); SET @J=0;
WHILE(@J < 48)
BEGIN
SET @PIYM=CONVERT(VARCHAR(6), DATEADD(MONTH,@J,GETDATE()), 112);
SET @PITYPE=1;
WHILE (@PITYPE<5)
BEGIN
BEGIN TRY
EXEC [DBO].[CREATETABLE] @PITYPE,@PIYM ;
END TRY
BEGIN CATCH
BREAK;
END CATCH
SET @PITYPE=@PITYPE+1;
END;
SET @J = @J+1;
END;
GO

五、sqlserver函数的运用  

  1、--2018-10-24 日期转换格式,获取日期前10位
     select CONVERT(VARCHAR(10),GETDATE(),120);

  2、--2018-12-24 14:17:36.230 当前日期增加两个月
           select DATEADD(MONTH,2,GETDATE());
      3、--哈哈哈   将变量显示转换为 varchar(10)类型
          SELECT CAST('哈哈哈' AS varchar(10))
  4、/**
     两者都可以执行动态sql
      sp_executesql 可以在动态 sql 中使用变量,并且将变量输出
      exec 则只能执行动态 sql 和 存储过程,也可以使用表变量,执行时需要加括号,唯一不足就是不可以输出变量
             */ 

CREATE PROC stu
as
BEGIN
DECLARE @STR NVARCHAR(4000);
SET @STR='select * from OT_WEI_TWCOUNT'
--执行sql语句
EXEC SP_EXECUTESQL @STR;
end; --执行该存储过程,进行查询 select * from OT_WEI_TWCOUNT
 EXEC stu;

六、sqlserver定时任务

  1、创建定时任务(即作业)

    参考网址:https://jingyan.baidu.com/article/b907e62790e89846e7891cc4.html?qq-pf-to=pcqq.c2c

  2、查看定时任务日志

    参考网址:https://jingyan.baidu.com/article/0f5fb099efaa2c6d8334eae5.html?qq-pf-to=pcqq.c2c

  

sqlserver学习_01的更多相关文章

  1. SQLServer学习笔记系列6

    一.写在前面的话 时间是我们每个人都特别熟悉的,但是到底它是什么,用什么来衡量,可能很多人会愣在那里.时间可以见证一切,也可以消磨一切,那些过往的点点滴滴可思可忆.回想往年清明节过后,在家乡的晚上总能 ...

  2. SQLServer学习笔记系列5

    一.写在前面的话 转眼又是一年清明节,话说“清明时节雨纷纷”,武汉的天气伴随着这个清明节下了一场暴雨,整个城市如海一样,朋友圈渗透着清明节武汉看海的节奏.今年又没有回老家祭祖,但是心里依然是怀念着那些 ...

  3. SQLServer学习笔记系列3

    一.写在前面的话 今天又是双休啦!生活依然再继续,当你停下来的时候,或许会突然显得不自在.有时候,看到一种东西,你会发现原来在这个社会上,优秀的人很多,默默 吃苦努力奋斗的人也多!星期五早上按时上班, ...

  4. SQLServer学习笔记系列2

    一.写在前面的话 继上一次SQLServer学习笔记系列1http://www.cnblogs.com/liupeng61624/p/4354983.html以后,继续学习Sqlserver,一步一步 ...

  5. SQLServer学习笔记<>相关子查询及复杂查询

    二.查询缺少值的查询 在这里我们加入要查询2008年每一天的订单有多少?首先我们可以查询下订单表的订单日期在2008年的所有订单信息. 1 select distinct orderdate,coun ...

  6. C++基础学习_01

    C++基础学习_01 基础知识:1.命名空间,2.IO流(输入输入),3.参数缺省,4.函数重载 1.命名空间 作用:对标识符的名称进行本地化,避免命名冲突 定义:namaspace space_na ...

  7. SQLServer 学习笔记之超详细基础SQL语句 Part 12(The End)

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 11------------------- 现在,我们希望从 " ...

  8. SQLServer 学习笔记之超详细基础SQL语句 Part 11

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 10------------------- DECLARE @myavg ...

  9. SQLServer 学习笔记之超详细基础SQL语句 Part 10

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 9------------------- 删除约束的语法 ALTER T ...

随机推荐

  1. [HNOI2013]切糕

    题目描述 网址:https://daniu.luogu.org/problemnew/show/3227 大意: 平面上有一长方体,目标为将其切割为上下两半. 切割点为\((x,y,z)\)的点,每个 ...

  2. [HNOI2007]紧急疏散

    二分+网络流判定 首先处理出每个人和门间的距离 二分时间,连边时把每个门拆成mid个,一个人能在mid时间内到达,他也可以在这等一会儿,那么这mid个门之间连边 如果可以在x的时间内到达,那么x~mi ...

  3. Spring【AOP模块】就是这么简单

    前言 到目前为止,已经简单学习了Spring的Core模块.....于是我们就开启了Spring的AOP模块了...在讲解AOP模块之前,首先我们来讲解一下cglib代理.以及怎么手动实现AOP编程 ...

  4. 【最新】Power BI混合现实应用Mixed Reality app预览版正式发布

    1.介绍 2018年3月13日,Power BI在官方博客和Docs文档发布了Power BI for Mixed Reality应用预览版的消息, 也就是可以以后在更虚拟的世界中来观察你的报表,想象 ...

  5. IT企业如何实现项目管理信息化的目标

    随着信息化技术的不断深入,企业管理方式逐渐向信息化管理转变.大部分IT企业也为了适应企业管理方式的变革,开始加强对管理信息化创新方面的建设.而IT企业在实现信息化的进程中,项目管理信息化其实是IT企业 ...

  6. 关系型数据库工作原理-查询优化器之索引(翻译自Coding-Geek文章)

    本文翻译自Coding-Geek文章:< How does a relational database work>.原文链接:http://coding-geek.com/how-data ...

  7. 【经验随笔】MYSQL表加锁升级导致数据库访问失败

    背景:有一次定位问题发现,在同一个session连接中对MYSQL部分表加锁,导致其它未加锁的表不能访问. 用Spring管理MYSQL数据连接,在多线程访问数据库的情况下容易出问题.一个线程中对部分 ...

  8. ORM Basic

    ORM即object relational mapping 对象关系映射程序,可以在操作数据库的时候使用自有的语言而不必使用数据库的语言. 在python中,最强大的ORM框架就是SQLAlchemy ...

  9. Lintcode247 Segment Tree Query II solution 题解

    [题目描述] For an array, we can build a Segment Tree for it, each node stores an extra attribute count t ...

  10. Cracking Wifi Wpa-Wpa2 in 5 second——Dumpper V.80.8 +JumpStart+WinPcap

    标题虽然说是5秒之内破解wpa-wpa2的wifi密码,不过其实这个是针对外国的那种路由器,我们大天朝的路由器越来越强悍了.有的路由器防pin,甚至于一些路由器没有pin,wps之类的.不过还是有一些 ...