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. Bzoj4817:[SDOI2017]树点涂色

    题面 Bzoj Sol 做个转化 最开始都是虚边 操作\(1\)就是\(LCT\)里的\(Access\)操作 求的就是路径上虚边的个数+1 然后就好办了 用树链剖分+线段树来维护每个点到根虚边的个数 ...

  2. javascript使用闭包模拟私有属性和方法

    最近因为做了一个项目,其中涉及到了js私有方法,这个概念在其语言里面是很常见的,很多语言都有private这个关键字,只要在一个类的前面加上private就表示申明了一个私有方法,但是javascri ...

  3. 8Manage:专注企业级CRM服务应用

    [导读]经过过去一段时间的资本寒冬,中国的企业服务市场热度渐退,开始步入平稳的发展阶段.面对中国越来越多企业的管理需求,这片具有巨大的发展空间的市场蓝海.我们应该如何面对企业客户CRM的需求,并将其更 ...

  4. Cannot find a valid baseurl for repo: base

    Linux下执行yum命令的时候一直报错:Cannot find a valid baseurl for repo: base 网上找了好多办法都没有解决... 我之前也遇到过一次, vi /etc/ ...

  5. 33.Django ModelForm

    ModelForm 1.ModeForm简单验证 from django.db import models # Create your models here. class UserInfo(mode ...

  6. C++编程理论学习笔记

    1.变量: 变量的值都存储在内存中.内存中每个单元都有一个唯一的编号,就是单元的地址,变量在运行时占据内存单元互不相同的地址,C++的目标代码靠地址来区别不同的变量. 2.表达式: 虽然内存是存储c+ ...

  7. WebService就是这么简单

    WebService介绍 首先我们来谈一下为什么需要学习webService这样的一个技术吧.... 问题一 如果我们的网站需要提供一个天气预报这样一个需求的话,那我们该怎么做????? 天气预报这么 ...

  8. 创建Android项目及常见错误解决

    首先打开eclipse,点击右上角有一个这个小按钮,点击java然后OK 因为切换到这个视图来创建android程序更加方便,然后点击 Next Next 这个地方可以修改android应用程序的图标 ...

  9. 软件质量与测试——WordCount编码实现及测试

    1.GitHub地址       https://github.com/noblegongzi/WordCount 2.PSP表格 PSP2.1 PSP 阶段 预估耗时 (分钟) 实际耗时 (分钟) ...

  10. 20165226 学习基础和C语言基础调查

    心得体会 驱动迭代 学习是一个老师与学生互动的过程,二者关系又恰如健身教练与学员,在进行基础知识的培训后还需借助工具加强相关方面的训练.学习提升的过程离不开学生在实践中发现问题并在老师的帮助下解决问题 ...