temp-存储过程 以前的

-----------------------------------------------------------------------------------------------------------------

    eb_rp_pertrancereportday(个人网银业务状况明细日报表).sql

if exists(select 1 from sysobjects where name = ‘eb_rp_pertrancereportday‘ and type = ‘P‘)
    drop procedure eb_rp_pertrancereportday
go

create procedure eb_rp_pertrancereportday(@rprtdt varchar(8))     --个人网银业务状况明细日报表
as
begin
    declare @brchno        varchar(10)
    declare @brchna        varchar(255)

    declare @iitrnm int                            --期初行内转账笔数
    declare @iitram decimal(15,2)                --期初行内转账金额
    declare @intrnm int                            --新增行内转账笔数
    declare @intram decimal(15,2)                --新增行内转账金额
    declare @ietrnm int                            --期末行内转账笔数
    declare @ietram decimal(15,2)                --期末行内转账金额

    declare @oitrnm int                            --期初跨行转账笔数
    declare @oitram decimal(15,2)                --期初跨行转账金额
    declare @ontrnm int                            --新增跨行转账笔数
    declare @ontram decimal(15,2)                --新增跨行转账金额
    declare @oetrnm int                            --期末跨行转账笔数
    declare @oetram decimal(15,2)                --期末跨行转账金额

    declare @aitrnm int                            --期初总计转账笔数
    declare @aitram decimal(15,2)                --期初总计转账金额
    declare @antrnm int                            --新增总计转账笔数
    declare @antram decimal(15,2)                --新增总计转账金额
    declare @aetrnm int                            --期末总计转账笔数
    declare @aetram decimal(15,2)                --期末总计转账金额

    declare @f_rprtdt   varchar(10)                --今天first 格式yyyy-mm-dd
    declare @e_rprtdt    varchar(10)                --明天end 格式yyyy-mm-dd
    declare @o_rprtdt    varchar(10)             --昨天last 格式yyyymmdd
    declare @n_rprtdt    varchar(10)                --明天  格式yyyymmdd
    select @f_rprtdt = convert(varchar,datepart(yy,@rprtdt))+"-"+convert(varchar,datepart(mm,@rprtdt))+"-"+convert(varchar,datepart(dd,@rprtdt))
    select @n_rprtdt = convert(varchar,dateadd(dd,1,@rprtdt),112)
    select @e_rprtdt = convert(varchar,datepart(yy,@n_rprtdt))+"-"+convert(varchar,datepart(mm,@n_rprtdt))+"-"+convert(varchar,datepart(dd,@n_rprtdt))
    select @o_rprtdt = convert(varchar,dateadd(dd,-1,@rprtdt),112)

    --取网点号
    declare cur_rprt cursor for select brchno,brchna from emb_brch where statis = ‘1‘ order by brchno for read only
    open cur_rprt
    fetch cur_rprt into @brchno,@brchna

    while @@sqlstatus = 0
    begin    

        if not exists (select 1 from emp_trpt where rprtdt = @o_rprtdt and rptpfg = ‘0‘)
        begin
            select @iitrnm = 0
            select @iitram = 0.00
            select @intrnm = 0
            select @intram = 0.00
            select @ietrnm = 0
            select @ietram = 0.00
            select @oitrnm = 0
            select @oitram = 0.00
            select @ontrnm = 0
            select @ontram = 0.00
            select @oetrnm = 0
            select @oetram = 0.00
            select @aitrnm = 0
            select @aitram = 0.00
            select @antrnm = 0
            select @antram = 0.00
            select @aetrnm = 0
            select @aetram = 0.00
        end
        else begin
            select @iitrnm = ietrnm ,@iitram = ietram from emp_trpt where brchno = @brchno and rprtdt = @o_rprtdt and rptpfg=‘0‘
            select @oitrnm = oetrnm ,@oitram = oetram from emp_trpt where brchno = @brchno and rprtdt = @o_rprtdt and rptpfg=‘0‘
            select @aitrnm = aetrnm ,@aitram = aetram from emp_trpt where brchno = @brchno and rprtdt = @o_rprtdt and rptpfg=‘0‘
        end

        --新增(当天)行内转账笔数和金额
        select @intrnm = count(1), @intram = sum(tranam) from epc_flog a, epc_cifx b where a.mastid = b.mastid and senddt >= @f_rprtdt and senddt < @e_rprtdt and b.brchid = @brchno and a.status = ‘success‘ and tranna = ‘/transfer/transferInBank‘
        --新增(当天)跨行转账笔数和金额
        select @ontrnm = count(1), @ontram = sum(tranam) from epc_flog a, epc_cifx b where a.mastid = b.mastid and senddt >= @f_rprtdt and senddt < @e_rprtdt and b.brchid = @brchno and a.status = ‘success‘ and tranna = ‘/transfer/transferOutBank‘

        if @iitram is null
        begin
            select @iitram = 0.00
        end

        if @intram is null
        begin
            select @intram = 0.00
        end

        if @ietram is null
        begin
            select @ietram = 0.00
        end            

        if @oitram is null
        begin
            select @oitram = 0.00
        end

        if @ontram is null
        begin
            select @ontram = 0.00
        end

        if @oetram is null
        begin
            select @oetram = 0.00
        end

        if @aitram is null
        begin
            select @aitram = 0.00
        end

        if @antram is null
        begin
            select @antram = 0.00
        end

        if @aetram is null
        begin
            select @aetram = 0.00
        end

        select @antrnm = @intrnm + @ontrnm  --当天新增转账笔数合计
        select @antram = @intram + @ontram  --当天新增转账金额合计

        select @ietrnm = @iitrnm + @intrnm  --本期行内转账笔数
        select @oetrnm = @oitrnm + @ontrnm    --本期跨行转账笔数
        select @aetrnm = @aitrnm + @antrnm    --本期合计转账笔数    

        select @ietram = @iitram + @intram   --本期行内转账金额
        select @oetram = @oitram + @ontram     --本期跨行转账金额
        select @aetram = @aitram + @antram     --本期行内转账金额

        insert into emp_trpt (rprtdt,brchno,brchna,iitrnm,iitram,intrnm,intram,ietrnm,ietram,oitrnm,oitram,ontrnm,ontram,oetrnm,oetram,aitrnm,aitram,antrnm,antram,aetrnm,aetram,rptpfg) values(@rprtdt,@brchno,@brchna,@iitrnm,@iitram,@intrnm,@intram,@ietrnm,@ietram,@oitrnm,@oitram,@ontrnm,@ontram,@oetrnm,@oetram,@aitrnm,@aitram,@antrnm,@antram,@aetrnm,@aetram,‘0‘)
        fetch cur_rprt into @brchno,@brchna
    end
    close cur_rprt
    deallocate cursor cur_rprt

end
go

-----------------------------------------------------------------------------------------------------------------

    eb_rp_pertrancereportmonth(个人网银业务状况明细月报表).sql

if exists(select 1 from sysobjects where name = ‘eb_rp_pertrancereportmonth‘ and type = ‘P‘)
    drop procedure eb_rp_pertrancereportmonth
go

create procedure eb_rp_pertrancereportmonth(@rprtdt varchar(8))     --个人网银业务状况明细月报表
as
begin
    declare @brchno        varchar(10)
    declare @brchna        varchar(255)

    declare @iitrnm int                            --期初行内转账笔数
    declare @iitram decimal(15,2)                --期初行内转账金额
    declare @intrnm int                            --新增行内转账笔数
    declare @intram decimal(15,2)                --新增行内转账金额
    declare @ietrnm int                            --期末行内转账笔数
    declare @ietram decimal(15,2)                --期末行内转账金额

    declare @oitrnm int                            --期初跨行转账笔数
    declare @oitram decimal(15,2)                --期初跨行转账金额
    declare @ontrnm int                            --新增跨行转账笔数
    declare @ontram decimal(15,2)                --新增跨行转账金额
    declare @oetrnm int                            --期末跨行转账笔数
    declare @oetram decimal(15,2)                --期末跨行转账金额

    declare @aitrnm int                            --期初总计转账笔数
    declare @aitram decimal(15,2)                --期初总计转账金额
    declare @antrnm int                            --新增总计转账笔数
    declare @antram decimal(15,2)                --新增总计转账金额
    declare @aetrnm int                            --期末总计转账笔数
    declare @aetram decimal(15,2)                --期末总计转账金额

    declare @f_rprtdt varchar(10)                --当月第一天
    declare @e_rprtdt    varchar(10)                --当月最后一天
    declare @o_rprtdt varchar(10)                --上月最后一天    

    select @f_rprtdt = convert(varchar,convert(char(8),(datepart(yy,@rprtdt)*10000+datepart(mm,@rprtdt)*100+01)),112)
    select @e_rprtdt = convert(varchar,dateadd(dd,-1,dateadd(mm,1,convert(char(8),(datepart(yy,@rprtdt)*10000+datepart(mm,@rprtdt)*100+01)))),112)
    --上月最后一天
    select @o_rprtdt = convert(varchar,dateadd(dd,-1,convert(char(8),(datepart(yy,@rprtdt)*10000+datepart(mm,@rprtdt)*100+01))),112)

    --取网点号
    declare cur_rprt cursor for select brchno,brchna from emb_brch where statis = ‘1‘ order by brchno for read only
    open cur_rprt
    fetch cur_rprt into @brchno,@brchna

    while @@sqlstatus = 0
    begin    

        if not exists (select 1 from emp_trpt where rprtdt = @o_rprtdt and rptpfg = ‘1‘)
        begin
            select @iitrnm = 0
            select @iitram = 0.00
            select @intrnm = 0
            select @intram = 0.00
            select @ietrnm = 0
            select @ietram = 0.00
            select @oitrnm = 0
            select @oitram = 0.00
            select @ontrnm = 0
            select @ontram = 0.00
            select @oetrnm = 0
            select @oetram = 0.00
            select @aitrnm = 0
            select @aitram = 0.00
            select @antrnm = 0
            select @antram = 0.00
            select @aetrnm = 0
            select @aetram = 0.00
        end
        else begin
            --
            select @iitrnm = ietrnm ,@iitram = ietram from emp_trpt where brchno = @brchno and rprtdt = @o_rprtdt and rptpfg=‘1‘
            select @oitrnm = oetrnm ,@oitram = oetram from emp_trpt where brchno = @brchno and rprtdt = @o_rprtdt and rptpfg=‘1‘
            select @aitrnm = aetrnm ,@aitram = aetram from emp_trpt where brchno = @brchno and rprtdt = @o_rprtdt and rptpfg=‘1‘
        end
            select @intrnm = sum(intrnm) from emp_trpt where brchno = @brchno and rprtdt between @f_rprtdt and @e_rprtdt and rptpfg = ‘0‘
            select @intram = sum(intram) from emp_trpt where brchno = @brchno and rprtdt between @f_rprtdt and @e_rprtdt and rptpfg = ‘0‘
            select @ontrnm = sum(ontrnm) from emp_trpt where brchno = @brchno and rprtdt between @f_rprtdt and @e_rprtdt and rptpfg = ‘0‘
            select @ontram = sum(ontram) from emp_trpt where brchno = @brchno and rprtdt between @f_rprtdt and @e_rprtdt and rptpfg = ‘0‘
        if @iitram is null
        begin
            select @iitram = 0.00
        end

        if @intram is null
        begin
            select @intram = 0.00
        end

        if @ietram is null
        begin
            select @ietram = 0.00
        end            

        if @oitram is null
        begin
            select @oitram = 0.00
        end

        if @ontram is null
        begin
            select @ontram = 0.00
        end

        if @oetram is null
        begin
            select @oetram = 0.00
        end

        if @aitram is null
        begin
            select @aitram = 0.00
        end

        if @antram is null
        begin
            select @antram = 0.00
        end

        if @aetram is null
        begin
            select @aetram = 0.00
        end

        select @antrnm = @intrnm + @ontrnm  --当月新增转账笔数合计
        select @antram = @intram + @ontram  --当月新增转账金额合计 

        select @ietrnm = @iitrnm + @intrnm  --本期行内转账笔数
        select @oetrnm = @oitrnm + @ontrnm    --本期跨行转账笔数
        select @aetrnm = @aitrnm + @antrnm    --本期合计转账笔数    

        select @ietram = @iitram + @intram   --本期行内转账金额
        select @oetram = @oitram + @ontram     --本期行内转账金额
        select @aetram = @aitram + @antram     --本期行内转账金额

        insert into emp_trpt values(@rprtdt,@brchno,@brchna,@iitrnm,@iitram,@intrnm,@intram,@ietrnm,@ietram,@oitrnm,@oitram,@ontrnm,@ontram,@oetrnm,@oetram,@aitrnm,@aitram,@antrnm,@antram,@aetrnm,@aetram,‘1‘)
        fetch cur_rprt into @brchno,@brchna
    end
    close cur_rprt
    deallocate cursor cur_rprt

end
go

-----------------------------------------------------------------------------------------------------------------

    报表.sql---我写的

---------------网银新统计报表总表
create table dbo.emc_cprt (
mainid     int              identity not null ,
rprtdt     smalldatetime         null ,
status     char(1)               null ,
rptype     char(1)               null ,
rprtcs     char(1)               null ,--2:个人网银交易统计
constraint pk_emc_cprt primary key nonclustered (mainid)
)

-----------------个人网银交易统计
create table dbo.emp_trpt (
mainid     int              identity not null ,
rprtdt     smalldatetime         null ,
iitrnm int NULL ,                            --期初行内转账笔数
iitram decimal(15,2) null,        --期初行内转账金额
intrnm int NULL ,                            --新增行内转账笔数
intram decimal(15,2) null,        --新增行内转账金额
ietrnm int NULL ,                            --期末行内转账笔数
ietram decimal(15,2) null,        --期末行内转账金额
oitrnm int NULL ,                            --期初跨行转账笔数
oitram decimal(15,2) null,        --期初跨行转账金额
ontrnm int NULL ,                            --新增跨行转账笔数
ontram decimal(15,2) null,        --新增跨行转账金额
oetrnm int NULL ,                            --期末跨行转账笔数
oetram decimal(15,2) null,        --期末跨行转账金额
aitrnm int NULL ,                            --期初总计转账笔数
aitram decimal(15,2) null,        --期初总计转账金额
antrnm int NULL ,                            --新增总计转账笔数
antram decimal(15,2) null,        --新增总计转账金额
aetrnm int NULL ,                            --期末总计转账笔数
aetram decimal(15,2) null,        --期末总计转账金额
rptpfg     char(1)               null ,    -- 0:日报表 1:月报表 2:季报表 3:年报表
constraint pk_emp_trpt primary key nonclustered (mainid)
)

-----------------个人交易流水表
create table dbo.epc_flog (
mainid     int              identity not null ,
senddt     smalldatetime         null ,        --交易时间
brchno     varchar(20)           null ,        --机构号
custid     varchar(20)           null ,        --客户号
trancd     varchar(20)           null ,        --交易码   (其实是一种类型,,暂时用1表示行内,2表示跨行)
tranam     decimal(15,2)          null ,    --交易金额
tranfe         decimal(15,2)          null,        --交易手续费
constraint pk_epc_flog primary key nonclustered (mainid)
)

--功能:
--1、可按日、月维度统计转账交易的统计
--2、eb_rp_pertrancereportday查询epc_flog表,统计出当天的交易量,并写入到emp_trpt表
--3、eb_rp_pertrancereportmonth从emp_trpt表查询该月每天的交易量并进行统计,统计结果也写入到emp_trpt表
--4、统计的图表可使用饼状图、柱状图或曲线图
--5、批处理类报表:
----a.用曲线图展示每天交易量(金额)同时显示其交易笔数,查询条件:日期范围、指定转账类型
----b.用饼状图展示指定月行内转账和跨行转账的笔数和金额,查询条件:指定月份
----c.用柱状图展示最近6个月中每月的交易笔数和交易金额
--6、实时类报表:
----用柱状图展示当天的交易量(笔数和交易金额)

------------------------------------------------------------------------------------------------------------------
-----------------个人交易流水表
create table epc_flog (
mainid     int              identity not null ,
senddt     smalldatetime         null ,        --交易时间
brchno     varchar(20)           null ,        --机构号
custid     varchar(20)           null ,        --客户号
trancd     varchar(20)           null ,        --交易码   (其实是一种类型,,暂时用1表示行内,2表示跨行)
tranam     decimal(15,2)          null ,    --交易金额
tranfe         decimal(15,2)          null,        --交易手续费
constraint pk_epc_flog primary key nonclustered (mainid)
)

-----------------个人网银交易统计
create table dbo.emp_trpt (
mainid     int              identity not null ,

rprtdt     smalldatetime         null ,

intrnm int NULL ,            --新增行内转账笔数
intram decimal(15,2) null,        --新增行内转账金额

ontrnm int NULL ,            --新增跨行转账笔数
ontram decimal(15,2) null,        --新增跨行转账金额

rptpfg     char(1)               null ,    -- 0:日报表 1:月报表 2:季报表 3:年报表
constraint pk_emp_trpt primary key nonclustered (mainid)
)

---创建存储过程.
create or replace procedure  p_pertrancereportday(pdate in date)
    as

        Cursor my_cursor
        is
        select TRANCD ,count(1) pcount,sum(TRANAM) pamount
        from EPC_FLOG
            where SENDDT between (pdate-interval ‘24‘ hour) and pdate
            group by TRANCD ;

        c_row my_cursor%rowtype ;

    begin

        for c_row in my_cursor loop

            if c_row.TRANCD=‘1‘ then

           insert into EMP_TRPT(RPRTDT,INTRNM,INTRAM,ONTRNM,ONTRAM,RPTPFG)
           values(pdate,c_row.pcount,c_row.pamount,0,0.00,‘0‘);
        else
           insert into  EMP_TRPT(RPRTDT,INTRNM,INTRAM,ONTRNM,ONTRAM,RPTPFG)
           values(pdate,0,0.00,c_row.pcount,c_row.pamount,‘0‘);
        end if;

        end loop;
    end;

----存储过程的调用
declare
pdate date:= to_date(‘2013-07-08 17:00:00‘,‘yyyy-MM-dd hh24:mi:ss‘) ;
begin

p_pertrancereportday(pdate);
end;
/

----创建存储过程 (月统计,不可用)

create or replace procedure p_pertrancereportmonth(pdate in date)
    as
        --定义变量
        pintrnm EMP_TRPT.INTRNM%TYPE;
        pintram EMP_TRPT.INTRAM%TYPE;
        pontrnm EMP_TRPT.ONTRNM%TYPE;
        pontram EMP_TRPT.ONTRAM%TYPE;
    begin

        select  sum(INTRNM) into pintrnm, sum(INTRAM) into pintram, sum(ONTRNM) into pontrnm, sum(ONTRAM) into pontram ,--这里的聚合函数只能有一个
        from EMP_TRPT
            where RPTPFG=‘0‘ and  RPRTDT between trunc(pdate,‘MON‘) and pdate ; --用到了oracle的时间函数

        if SQL%FOUND then
             insert into EMP_TRPT(RPRTDT,INTRNM,INTRAM,ONTRNM,ONTRAM,RPTPFG)
             values(pdate,pintrnm,pintram,pontrnm,pontram,‘1‘);
        end if;
        commit;
    end;

-----调用与前一个一样

--创建序列
      drop sequence emp_trpt_tb_seq;
      create sequence emp_trpt_tb_seq
               increment by 1
               start with 1;
--创建序列
 create or replace trigger emp_trpt_tb_tri
          before insert on emp_trpt
          for each row
          begin
                 select emp_trpt_tb_seq.nextval into :new.MAINID from dual;
          end;

----创建存储过程(月统计,可用)

create or replace procedure p_pertrancereportmonth(pdate in date)
    as
        Cursor my_cursor
        is
        select  sum(INTRNM) pintrnm, sum(INTRAM) pintram, sum(ONTRNM) pontrnm, sum(ONTRAM) pontram
        from EMP_TRPT
            where RPTPFG=‘0‘ and  RPRTDT between trunc(pdate,‘MON‘) and pdate ; --用到了oracle的时间函数

        c_row my_cursor%rowtype ;
    begin

        for c_row in my_cursor loop

          insert into EMP_TRPT(RPRTDT,INTRNM,INTRAM,ONTRNM,ONTRAM,RPTPFG)
             values(pdate,c_row.pintrnm,c_row.pintram,c_row.pontrnm,c_row.pontram,‘1‘);

        end loop;

    end;

temp-存储过程 以前的

时间: 2024-10-26 06:34:34

temp-存储过程 以前的的相关文章

SQL 存储过程(转帖摘录)

篇一: 创建存储过程     Create Proc dbo.存储过程名 存储过程参数     AS     执行语句     RETURN     执行存储过程     GO *********************************************************/ -- 变量的声明,sql里面声明变量时必须在变量前加@符号     DECLARE @I INT -- 变量的赋值,变量赋值时变量前必须加set     SET @I = 30 -- 声明多个变量    

sql server存儲過程語法

-- 变量的声明,sql里面声明变量时必须在变量前加@符号    DECLARE @I INT -- 变量的赋值,变量赋值时变量前必须加set    SET @I = 30 -- 声明多个变量    DECLARE @s varchar(10),@a INT -- Sql 里if语句    IF 条件 BEGIN        执行语句    END    ELSE BEGIN        执行语句    END                DECLARE @d INT    set @d

Sqlserver 存储过程

转载自:http://www.cnblogs.com/hoojo/archive/2011/07/19/2110862.html Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø 存储过程的概念 存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行. 存储过程中可以包

SQLServer(子查询,存储过程,透视,索引)

存储过程: 视图是对一个查询语句的封装,而存储过程:将一段t-sql脚本进行封装,对一段逻辑操作的封装. 创建存储过程: create proc 名称 参数表 as begin end 案例:去左右空格 creat proc trim @str1 varchar(10)asbegin select LTRIM(RTRIM(@str1)) end 在<可编程性>里面有<存储过程>里面有trim这个名 用的时候: exec trim '参数' 案例:编写存储过程,查询表中的总数居,以及

Sql Server中的存储过程

Transact-SQL中的存储过程,非常类似于c#语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø 存储过程的概念 存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行. 存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数.输出参数.返回单个或多个结果集以及返回值. 由于存储过程在创建时即在数据库服务器上进行了

存储过程实例

Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø 存储过程的概念 存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行. 存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数.输出参数.返回单个或多个结果集以及返回值. 由于存储过程在创建时即在数据库服务器上进

如何灵活的使用存储过程返回的结果集

在做报表开发时,遇到这样的需求: 当前要开发的报表A,其数据来源于另一张已经开发好的基础报表B. (1)由于统计维度不同,从基础报表B获取的数据需要做进一步的处理. (2)当基础报表B的取数逻辑发生变更时,报表A的取数逻辑也要做相应的变更,保持取数逻辑的一致. 经分析,由于报表A和报表B均为存储过程返回的结果集,实为调用和被调用的关系. 于是问题的关键点转化为:存储过程A该如何调用存储过程B,才能灵活的使用存储过程B返回的结果集. 以下案例中隐去真实的业务场景(甄士隐去,贾雨村言) 首先,我们对

【SQLSERVER学习笔记】分页存储过程+调用

1 USE [数据库名] 2 GO 3 4 SET ANSI_NULLS ON 5 GO 6 7 SET QUOTED_IDENTIFIER ON 8 GO 9 CREATE PROCEDURE [dbo].[存储过程名] 10 @pageIndex INT, 11 @pageSize INT, 12 @totalCount INT OUTPUT 13 AS 14 SET NOCOUNT ON 15 16 DECLARE @PageStart INT 17 DECLARE @PageEnd IN

sql笔记/分页存储过程

[email protected]c#中进行++操作可以是整数或小数,sql中只能对整数进行++操作.char类型 适合存储长度波动较小不回收效率高varchar 类型 适合存储长度波动较大可以回收nchar代表unicode 存储内容包括汉字时候考虑加n SQL语句特点1不区分大小写2没有双引号所有字符串都包含在单引号3没有逻辑相等,逻辑相等和赋值一样都是用=4没有bool值得概念,但是在视图中可以输入true/false5也有关系运算符.6也有逻辑运算符 &&-- and || --o

Sql Server 存储过程中查询数据无法使用 Union(All)

原文:Sql Server 存储过程中查询数据无法使用 Union(All) 微软Sql Server数据库中,书写存储过程时,关于查询数据,无法使用Union(All)关联多个查询. 1.先看一段正常的SQL语句,使用了Union(All)查询: SELECT ci.CustId --客户编号 , ci.CustNam --客户名称 , ci.ContactBy --联系人 , ci.Conacts --联系电话 , ci.Addr -- 联系地址 , ci.Notes --备注信息 , ai