来自 新葡亰数据库 2019-11-27 16:48 的文章
当前位置: 澳门新葡亰app > 新葡亰数据库 > 正文

基于系统数据类型

顾客自定义数据类型:基于系统数据类型,由数据库管理教员和学生成。
使用系统存款和储蓄进程定义客户自定义数据类型`
  Sp_addtype [@typename=] 新数据类型名,
  [@phystype=] 系统数据类型名
  [,[@nulltype=] null_type]
  [,[@owner=] owner_name]
  系统数据类型名,除了“BIG,INT,SMALLINT,TEXT,DATETIME,REAL,UNIQUE IDENTIFIE奥迪Q3,IMAGE”,别的必须用单引号括起来。  
  null_type:新数据类型管理空值的章程,能够取NOT NULL 或NULL,暗中同意为null
  owner_name:新数据类型的持有者,默以为当前客户。

列出驻留在 SQL Server 二零零五 数据库引擎实例中的数据库或能够由此数据库网关访问的数据库。为啥要动用存款和储蓄进程?

          使用存款和储蓄进度能够加强实行进程、允许情势化的顺序设计、进步多少的安全性、减弱互联网流通量等

何以是积存进程?

           存款和储蓄进度便是将四个或一批t-sql语句或逻辑调整语句封装起来举办预编写翻译贮存在数据库硬盘上以有扶助日后对该t-sql代码重复施行。

常用的系统存储进度

              存款和储蓄进度近似分为系统存款和储蓄进度和客户自定义存款和储蓄进度,系统存款和储蓄进度日常以“sp_”为前缀,下边来开一下种类的一些常用的仓库储存进度

sp_help:报告关于数据库对象(sys.sysobjects 包容视图中列出的保有指标卡塔尔、客户定义数据类型或某种数据类型的音信。

语法:

sp_help [ [ @objname = ] 'name' ]

其中:[ @objname =] '*name*'

                 sysobjects 类型或 systypes 表中任何顾客定义数据类型的某部对象的称谓。name 的数据类型为 nvarchar(776),暗中认可值为 NULL。不能够承担数据库名称。

sp_database:列出驻留在 SQL Server 2006数据库引擎实例中的数据库或可以透过数据库网关访问的数据库。

语法:

sp_database

sp_helpdb:报告有关指定数据库或有所数据库的消息。

语法:

sp_helpdb [ [ @dbname= ] 'name' ]

其中:[ @dbname= ] 'name'

                    要告诉其音讯的数据库的称号。name 的数据类型为 sysname,未有暗许值。假如未钦赐 name,则 sp_helpdb 将报告 sys.databases 目录视图中保有数据库的音信。

sp_renamedb:校订数据库的名称

语法:

sp_renamedb [ @dbname = ] 'old_name' , [ @newname = ] 'new_name'

其中:

[ @dbname =] 'old_name'
数据库的当前名称。old_name 的数据类型为 sysname,无暗中认可值。

[ @newname =] 'new_name'
数据库的新名称。new_name 必需遵从有关标志符的准绳。new_name 的数据类型为 sysname,无私下认可值。

sp_tables:重回当前景况下可查询的表或筹算的音信

语法:

sp_tables [ [ @table_name = ] 'name' ]      [ , [ @table_owner = ] 'owner' ]      [ , [ @table_qualifier = ] 'qualifier' ]      [ , [ @table_type = ] "type" ] 
     [ , [@fUsePattern = ] 'fUsePattern'];

其中: 

[ @table_name = ] 'name'
用来回到目录音信的表。name 的数据类型为 nvarchar(384),暗许值为 NULL。扶植通配符情势相称。

[ @table_owner = ] 'owner'
用以重临目录音信的表的主人。owner 的数据类型为 nvarchar(384),暗中认可值为 NULL。帮助通配符格局相配。假使未钦赐全部者,则根据根基 DBMS 的默许表可以看到性法则。

在 SQL Server 中,若是当前顾客全部一个有所钦赐名称的表,则赶回该表的列。若是未内定全体者,且当前客户未持有内定名称的表,则该进程查找由数据库全部者具有的富有钦定名称的表。如若有,则赶回该表的列。

[ @table_qualifier = ] 'qualifier'
表约束符的称谓。qualifier 的数据类型为 sysname,私下认可值为 NULL。两种 DBMS 产物协助表的三部分命名格局 (qualifier.owner.name)。在 SQL Server 中,此列表示数据库名称。在好几付加物中,该列表示表所在数据库意况的劳动器名。

[ , [ @table_type = ] "'type', 'type'" ]
由逗号分隔的值列表,该列表提供关于全部钦定的表类型的表的消息。这么些体系包罗TABLE、SYSTEMTABLE 和 VIEW。type 的数据类型为 varchar(100),暗中认可值为 NULL。

注意:
各样表类型都必须用单引号引起来,整个参数必得用双引号引起来。表类型必需大写。如果SET QUOTED_IDENTIFIE宝马7系 为 ON,则各个单引号必须换到双引号,整个参数必得用单引号引起来。  

[ @fUsePattern = ] 'fUsePattern'
明确下划线 (_)、百分号 (%) 和方括号([ 或 ]卡塔尔是不是表达为通配符。有效值为 0(情势相配为关门状态卡塔尔和 1(方式相称为张开状态卡塔 尔(阿拉伯语:قطر‎。fUsePattern 的数据类型为 bit,私下认可值为 1。

sp_columns:再次来到当前条件中可查询的钦点表或视图的列音信。

语法:

sp_columns [ @table_name = ] object  [ , [ @table_owner = ] owner ]      [ , [ @table_qualifier = ] qualifier ]      [ , [ @column_name = ] column ]      [ , [ @ODBCVer = ] ODBCVer ]

其中:

[ @table_name =] object
用于重临目录音信的表或视图的名目。object_name 的数据类型为 nvarchar(384),未有暗许值。帮助通配符形式相称。

[ @table_owner =] owner
用以再次回到目录音信的表或视图的对象全部者。owner 的数据类型为 nvarchar(384),暗许值是 NULL。支持通配符格局相称。假设未指定owner,则利用根底 DBMS 的默许表或视图可以预知性法则。

只要当前顾客具有的表或视图具有钦赐名称,则赶回该表的列。尽管未内定owner,並且当前客商不享有具备钦命 object 的表或视图,则 sp_columns 将搜索数据库全部者所具有的兼具内定 object 的表或视图。假使有,则赶回该表的列。

[ @table_qualifier =] qualifier
表或视图约束符的称呼。qualifier 的数据类型为 sysname,私下认可值是 NULL。好多 DBMS 成品都帮衬表的三部分构成命名情势(qualifier.owner.name)。在 SQL Server 中,此列表示数据库名称。在少数附加物中,该列表示表所在数据库情形的劳动器名。

[ @column_name =] column
二个独门的列,当只需求目录音讯的一列时可使用该参数。column 的数据类型为 nvarchar(384),私下认可值是 NULL。假若未钦定 column,则赶回全部列。在 SQL Server 中,column 表示在 syscolumns 表中列出的列名。帮助通配符格局相称。为了拿走最大互操作性,网关客商端应只行使 SQL-92 规范格局相称(% 和 _ 通配符)。

[ @ODBCVer =] ODBCVer
所使用的 ODBC 的版本。ODBCVer 的数据类型为 int,暗中认可值为 2。这提醒 ODBC 版本 2。有效值为 2 或 3。对于版本 2 和 3 之间的一举一动差别,请参阅 ODBC SQLColumns 标准
sp_helpconstraint:查看有些表的羁绊

语法:

sp_helpconstraint [ @objname = ] 'table'      [ , [ @nomsg = ] 'no_message' ] 

其中:

[ @objname = ] 'table'
至于所重临的自律音信的表。对于如今数据库来说,钦赐的表必得放在地面。table 的数据类型为 nvarchar(776),无默许值。

[ @nomsg =] 'no_message'
打印表名的可选参数。no_message 的数据类型为 varchar(5),暗中同意值是 msg。nomsg 表示打消打字与印刷。
sp_helpindex:查看有个别表的目录

语法:

sp_helpindex [ @objname = ] 'name'

其中:

[ @objname =] 'name'
客户定义的表或视图的限定或非约束名称。 仅当钦定节制的表或视图名称时,才供给动用引号。 假设提供了一心限制名称,满含数据库名称,则该数据库名称必需是现阶段数据库的名称。name 的数据类型为 nvarchar(776),无默许值。
sp_stored_procedures:再次回到当前条件中的存款和储蓄进度列表。

语法:

sp_stored_procedures [ [ @sp_name = ] 'name' ]     [ , [ @sp_owner = ] 'schema']     [ , [ @sp_qualifier = ] 'qualifier' ]
    [ , [@fUsePattern = ] 'fUsePattern' ]

其中:

[ @sp_name = ] 'name'
用以重回目录新闻的进度名。name 的数据类型为 nvarchar(390),默许值为 NULL。帮忙通配符方式匹配。

[ @sp_owner = ] 'schema'
该进程所属架构的名号。schema 的数据类型为 nvarchar(384),暗许值为 NULL。帮衬通配符形式相称。假如未钦命 owner,则依照底工 DBMS 的暗中同意进程可知性准则。

在 SQL Server 中,借使当前架构包罗具备钦命名称的长河,则赶回此进度。假如钦赐了非约束存款和储蓄进程,则数据库引擎按以下顺序找寻此进程:

当下数据库的 sys 架构。

调用方的暗许架构(在运用批或动态 SQL 试行时卡塔尔;大概,若是非限制的长河名称出以后另二个经过定义的基点中,则任何时候搜索包蕴这意气风发历程的框架结构。有关默许框架结构的详细音讯,请参阅顾客架构抽离。

一时数据库中的 dbo 架构。

[ @qualifier = ] 'qualifier'
经过约束符的称谓。qualifier 的数据类型为 sysname,默许值为 NULL。多种DBMS 产物辅助表的三有个别命名方式 (qualifier.schema.name)。在 SQL Server 中,qualifier 表示数据库名称。在有些成品中,它意味着表所在数据库境况的服务器名称。

[ @fUsePattern = ] 'fUsePattern'
明确是或不是将下划线 (_)、百分号 (%) 或 方括号 ([ ]) 解释为通配符。fUsePattern 的数据类型为 bit,暗许值为 1。

0 = 禁止使用形式相配。

1 = 启用格局相配

sp_password:为 Microsoft SQL Server 登入名增加或改动密码

语法:

sp_password [ [ @old = ] 'old_password' , ]      { [ @new =] 'new_password' }      [ , [ @loginame = ] 'login' ]

其中:

[ @old = ] 'old_password'
旧密码。old_password 的数据类型为 sysname,暗中同意值为 NULL。

[ @new = ] 'new_password'
新密码。new_password 的数据类型为 sysname,无私下认可值。若无动用命名参数,则必需钦命 old_password。
[ @loginame = ] 'login'
受密码更正影响的登陆名。login 的数据类型为 sysname,暗中认可值为 NULL。login 必得已经存在,况兼只可以由 sysadmin 或 securityadmin 固定服务器剧中人物的积极分子内定。

sp_helptext:突显顾客定义准则的概念、私下认可值、未加密的 Transact-SQL 存款和储蓄进程、客商定义 Transact-SQL 函数、触发器、计算列、CHECK 限制、视图或连串对象(如系统存款和储蓄进程卡塔尔。

语法:

sp_helptext [ @objname = ] 'name' [ , [ @columnname = ] computed_column_name ]

其中:

[ @objname = ] 'name'
架构范围内的顾客定义对象的限制名称和非节制名称。仅当钦定约束对象时才须要引号。假使提供的是一心约束名称(蕴涵数据库名称卡塔尔国,则数据库名称必得是当前数据库的称号。对象必得在这里时此刻数据库中。name 的数据类型为 nvarchar(776),无暗中认可值。

[ @columnname = ] 'computed_column_name'
要显得其定义新闻的寻思列的称号。必得将富含列的表钦命为 name。column_name 的数据类型为 sysname,无暗许值。

例如:

客户自定义的累积过程

/*建自定义数据类型*/
Exec sp_addtype a,'char(10)'
Exec sp_addtype da,datetime,'null'
/*删除自定义数据类型*/
Exec sp_droptype a

成立存款和储蓄进度的语法:

           CREATE PROC[EDURE] 存款和储蓄进度名

         【 {@参数1  数据类型}【=默许值】【OUTPUT】,

              ……,

              {@参数1  数据类型}【=私下认可值】【OUTPUT】

           】

        as

             SQL语句

个中:加【output】标示输出的参数不加则标示输入的参数

除去存款和储蓄进度语法:

DROP PROC[EDURE]   。不 开幕词,、 v;'s,.'  v,lllllly'[;;;;;;;;;n了共和国, 存储进程名

管理错误音讯

raiserror语句

语法:

raiserror  ({msg_id|msg_str}{,severity,state} 【with option【,……n】】)

其中:

msg_id:在messages系统表中钦定的客商定义错误音信

  msg_str:顾客定义的特定信息,最长为252个字符

  severity:与一定音讯涉及,表示客商定义的第超品级。客户可选拔的等级为0~18级,19~25级是为sysadmin固定角色的积极分子预先流出的,并且须要钦点with log 选项;20~25级被感觉是沉重错误

   state:表示错误状态,是1~255中的值

   option:错误的定义选项,能够使下列任意值:

                 log:在数据库的荒诞日志和应用程序的日志中著录错误

                 nowait:将音讯马上发送给客商端

                 seterror:将@@error值和error_number值设置为msg_id或50000,不用构思严重品级。

 

本文由澳门新葡亰app发布于新葡亰数据库,转载请注明出处:基于系统数据类型

关键词: