sqlserver学习_01
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的更多相关文章
- SQLServer学习笔记系列6
一.写在前面的话 时间是我们每个人都特别熟悉的,但是到底它是什么,用什么来衡量,可能很多人会愣在那里.时间可以见证一切,也可以消磨一切,那些过往的点点滴滴可思可忆.回想往年清明节过后,在家乡的晚上总能 ...
- SQLServer学习笔记系列5
一.写在前面的话 转眼又是一年清明节,话说“清明时节雨纷纷”,武汉的天气伴随着这个清明节下了一场暴雨,整个城市如海一样,朋友圈渗透着清明节武汉看海的节奏.今年又没有回老家祭祖,但是心里依然是怀念着那些 ...
- SQLServer学习笔记系列3
一.写在前面的话 今天又是双休啦!生活依然再继续,当你停下来的时候,或许会突然显得不自在.有时候,看到一种东西,你会发现原来在这个社会上,优秀的人很多,默默 吃苦努力奋斗的人也多!星期五早上按时上班, ...
- SQLServer学习笔记系列2
一.写在前面的话 继上一次SQLServer学习笔记系列1http://www.cnblogs.com/liupeng61624/p/4354983.html以后,继续学习Sqlserver,一步一步 ...
- SQLServer学习笔记<>相关子查询及复杂查询
二.查询缺少值的查询 在这里我们加入要查询2008年每一天的订单有多少?首先我们可以查询下订单表的订单日期在2008年的所有订单信息. 1 select distinct orderdate,coun ...
- C++基础学习_01
C++基础学习_01 基础知识:1.命名空间,2.IO流(输入输入),3.参数缺省,4.函数重载 1.命名空间 作用:对标识符的名称进行本地化,避免命名冲突 定义:namaspace space_na ...
- SQLServer 学习笔记之超详细基础SQL语句 Part 12(The End)
Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 11------------------- 现在,我们希望从 " ...
- SQLServer 学习笔记之超详细基础SQL语句 Part 11
Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 10------------------- DECLARE @myavg ...
- SQLServer 学习笔记之超详细基础SQL语句 Part 10
Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 9------------------- 删除约束的语法 ALTER T ...
随机推荐
- POJ - 2828
题意 输入队伍长度n 接下来n行,a,b 表示b插在队伍的a处 求队伍最后的情况 题解 刚开始并不知道要用线段树,经大佬点悟,发现最后插入的位置就是对应的a.所以可以从后往前依次插入,每次的位置pos ...
- epoll 实现回射服务器
epoll是I/O复用模型中相对epoll和select更高效的实现对套接字管理的函数. epoll有两种模式 LT 和 ET 二者的差异在于 level-trigger 模式下只要某个 socket ...
- ccd引脚
- Angular开发实践(二):HRM运行机制
引言 在angular-start项目中启用了模块热替换(HMR - Hot Module Replacement)功能,关于如何在angular-cli启用HRM,请查看HRM配置 那HMR是个什么 ...
- 笔记:MyBatis 动态SQL
有时候,静态的SQL语句并不能满足应用程序的需求.我们可以根据一些条件,来动态地构建SQL语句.例如,在Web应用程序中,有可能有一些搜索界面,需要输入一个或多个选项,然后根据这些已选择的条件去执行检 ...
- 开源一个定时任务调度器 webscheduler
在企业应用中定时任务调度的需求是必不可少的,比如定时同步数据,定时结转数据,定时检测异常等等.公司之前是在使用一款采用.net 开发的windows服务形式的定时程序,基本能满足需求,在一段时间的时候 ...
- diy51单片机最小系统------从零件到51整体测试成功小白篇
前言 因为现在网上资料很多,但是很多博主水平不一样,有很多时候,自己在网上找了很多资料,因为自己智商不够,有时候感觉很多关键性的东西没说清楚,导致解决不了问题.那现在就从一个小白的角度来记录自己做过的 ...
- linux小白成长之路2————yum安装火狐浏览器
1.使用终端: CentOS左上角:应用程序>收藏>终端  2.使用root权限安装软件: 输入:sudo -i 输入密码(上篇安装linux虚拟机时设定的登录密码,也是超级管理员密码) ...
- c#多线程,进度条,实时给前台发送数据
///做了一个wpf多线程,在实际场景中利用多线程保证程序不会卡死,性能上有所提高 //启动线程处理 Thread thread1 = new Thread(Update ...
- ResultSet的getInt()和getString()方法详解
数据库tt的examstudent数据表如下: 在MySQL中执行查询语句如下: ResultSet rs = null; String sql="SELECT flow_id,Typ ...