日期:2014-05-19  浏览次数:20475 次

存储过程中有几个地方看不懂!请教
create   proc   demo
    @czydm   char(4),                                  
    @czymm   varchar(20),                    
    @ksrq         char(8),
    @jsrq         char(8),
    @bmdm         char(2),
    @xmdm         varchar(255),
    @yybdm       varchar(255),
    @nbzjzh     varchar(255)

    with   encryption   as--是什么意思?

    set   nocount   on

    select   errorcode   =   0,   errormsg   =   '测试成功 '

    select   *,   1   as   js
              from   table(@p_f_czydm,   @p_bmdm,   @p_yybdm,   @p_xmdm,   @p_nbzjzh)--为什么能在表名后面加参数?

请教!



------解决方案--------------------
ENCRYPTION 表示 SQL Server 加密 syscomments 表中包含 CREATE PROCEDURE 语句文本的条目。使用 ENCRYPTION 可防止将过程作为 SQL Server 复制的一部分发布。
WITH ENCRYPTION 子句对用户隐藏存储过程的文本。
------解决方案--------------------
with encryption
说简单点就是给这个存储过程加密
加密以后谁都不能查看里面的内容了
包括创建的那个人
但是可以修改

table(@p_f_czydm, @p_bmdm, @p_yybdm, @p_xmdm, @p_nbzjzh)
------------------------------
这是谁写的存储过程?

这个table应该是一个表值函数,这个函数需要5个参数,并且返回一个表
table是函数名 ,

我猜的