欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Sql_server基本操作

程序员文章站 2022-08-30 23:15:59
使用Sql_server创建表,视图,触发器,存储过程,函数等基本操作。 ......

使用sql_server创建表,视图,触发器,存储过程,函数等基本操作。

 

create table test1(                  /* 创建一个表 */
    num int
)   

alter table test1                    /* 修改表 */
alter column num int not null        /* 修改某一列 */


alter table test1                    /* 修改表 */
add constraint pk_num                /* 添加约束 */
primary key(num);                    /* 主键约束 */


create trigger insert_test1          /* 创建触发器 */
on test1 for insert                  /* 当test1有添加数据时触发 */
as                                   /* as 以后时sql语句 */
begin
    print 'success!'
end

select * into test1bak               /* 创建备份表 */
from test1
where 1 = 2                          /* 备份为空表 */



create view s1                      /* 创建视图 s1 */
        as                           /* 注意,这个as不可省略 */    
        select *from jk


create proc procsumbypurchase                
    @gname nvarchar(50),                           /* 指定多个参数 */
    @name nvarchar(50),
    @num int output                                /* 输出参数 */
as
begin
    select @num = (
        select sum(s.sell_num)
        from sell s inner join goods g
        on g.goo_no = s.goo_no
        group by g.goo_name, s.sell_date, g.pro_name
        having g.goo_name = @name
        and g.pro_name = @gname
        and    year(s.sell_date) = 2018            /* date筛选年份 */
        and month(s.sell_date) = 1                 /* date筛选月份 */
    )
end

declare @num1 int                        
exec procsumbypurchase '联想公司', '拯救者15.6英寸轻薄游戏本', @num1 output
select 'sumnum' = str(@num1)                    /* 将返回的 int 型转变成 字符串 */



create function purchase_total(@start datetime,        /* 自定义函数 */
    @last datetime)                                    /* 可多个参数 */
    returns table                                      /* 返回值类型,这里为表格 */
as                                                     /* as以后为 sql 语句 */
    return(                                            /* 最后为返回类型 */
        select *
        from purchase p
        where p.pur_date >= @start
        and p.pur_date <= @last
    )