|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在执行崩溃恢复时,理解在一个数据库中的每一个表tbl_name对应的在数据库目录中的3个文件是很重要的:创立|存储历程在MSSQLServer2000中,创立一个存储历程有两种办法:一种是利用Transaction-SQL命令CreateProcedure,另外一种是利用图形化办理工具EnterpriseManager。用Transaction-SQL创立存储历程是一种较为疾速的办法,但关于初学者,利用EnterpriseManager更容易了解,更加复杂。
当创立存储历程时,必要断定存储历程的三个构成部分;
- 一切的输出参数和传给挪用者的输入参数。
- 被实行的针对数据库的操纵语句,包含挪用别的存储历程的语句;
- 前往给挪用者的形态值,以指明挪用是晒故鞘О堋?/li>
12.2.1利用EnterpriseManager创立存储历程
依照下述步骤用EnterpriseManager创立一个存储历程:
- 启动EnterpriseManager,登录到要利用的服务器。
- 选择要创立存储历程的数据库,在左窗格中单击StoredProcedure文件夹,此时在右窗格中显现该数据库的一切存储历程,如2-1所示。
- 右击StoredProcedure文件夹,在弹出菜单当选择NewStoredProcedure,此时翻开创立存储历程对话框,如2-2所示。
- 输出存储历程注释。
- 单击CheckSyntax,反省语法是不是准确。
- 单击OK,保留。
- 在右窗格中,右击该存储历程,在弹出菜单当选择Alltask,选择ManagePermissions,设置权限,如2-3所示。
12.2.2用CREATEPROCEDURE命令创立存储历程
经由过程使用CreateProcedure命令可以创立存储历程,在创立存储历程之前,应当思索到以下几个方面:
- 在一个批处置中,CreateProcedure语句不克不及与别的SQL语句兼并在一同;
- 数据库一切者具有默许的创立存储历程的权限,它可把该权限传送给别的的用户;
- 存储历程作为数据库工具其定名必需切合定名划定规矩;
- 只能在以后数据库中创立属于以后数据库的存储历程。
用CreateProcedure创立存储历程的语律例则以下:
CREATEPROC[EDURE]procedure_name[;number]
[{@parameterdata_type}
[VARYING][=default][OUTPUT]
][,...n]
[WITH
{RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION}]
[FORREPLICATION]
ASsql_statement[...n]
各参数的寄义以下:
- procedure_name
是要创立的存储历程的名字,它前面跟一个可选项number,它是一个整数,用来区分一组同名的存储历程。存储历程的定名必需切合定名划定规矩,在一个数据库中或对其一切者而言,存储历程的名字必需唯一。
- @parameter
是存储历程的参数。在CreateProcedure语句中,能够声明一个或多个参数。当挪用该存储历程时,用户必需给出一切的参数值,除非界说了参数的缺省值。若参数的情势以@parameter=value呈现,则参数的序次能够分歧,不然用户给出的参数值必需与参数列表中参数的按次坚持分歧。若某一参数以@parameter=value情势给出,那末别的参数也必需以该情势给出。一个存储历程最多有1024个参数。
- Data_type
是参数的数据范例。在存储过程当中,一切的数据范例包含text和image都可被用作参数。可是,游标cursor数据范例只能被用作OUTPUT参数。当界说游标数据范例时,也必需对VARING和OUTPUT关头字举行界说。对多是游标型数据范例的OUTPUT参数而言,参数的最年夜数量没无限制。
- VARYING
指定由OUTPUT参数撑持的了局集,仅使用于游标型参数。
- Default
是指参数的缺省值。假如界说了缺省值,那末即便不给出参数值,则该存储历程仍能被挪用。缺省值必需是常数,大概是空值。
- OUTPUT
标明该参数是一个前往参数。用OUTPUT参数能够向挪用者前往信息。Text范例参数不克不及用作OUTPUT参数。
- RECOMPILE
指明SQLServer其实不保留该存储历程的实行企图,该存储历程每实行一次都又要从头编译。
- ENCRYPTION
标明SQLServer加密了syscomments表,该表的text字段是包括有Createprocedure语句的存储历程文本,利用该关头字没法经由过程检察syscomments表来检察存储历程内容。
- FORREPLICATION
选项指了然为复制创立的存储历程不克不及在订购服务器上实行,只要在创立过滤存储历程时(仅当举行数据复制时过滤存储历程才被实行),才利用该选项。FORREPLICATION与WITHRECOMPILE选项是互不兼容的。
- AS
指明该存储历程将要实行的举措。
- Sql_statement
是任何数目和范例的包括在存储过程当中的SQL语句。
别的应当指出,一个存储历程的最年夜尺寸为128M,用户界说的存储历程必需创立在以后数据库中。
上面将给出几个例子,用来具体先容怎样创立包括有各类保存字的存储历程。
上面我们说了DML的闪回方案。但对于DDL却无能为力,对于大多数的DDL,即使是rowbase格式,二进制日志binlog中仍只记录语句本身。对于删表操作,只记录一个语句droptablet。仅凭这句话,无法还原表的数据。 |
|