云顶集团用户登录「官方网站」

热门关键词: 云顶集团用户登录,云顶集团登录网站
来自 新闻动态 2020-01-05 19:21 的文章
当前位置: 云顶集团用户登录 > 新闻动态 > 正文

利用系统存储过程定义用户自定义数据类型

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

列出驻留在 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 二零零七数据库引擎实例中的数据库或能够因此数据库网关访谈的数据库。

语法:

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.nameState of Qatar。在 SQL Server 中,此列表示数据库名称。在少数付加物中,该列表示表所在数据库遇到的劳动器名。

[ , [ @table_type = ] "'type', 'type'" ]
由逗号分隔的值列表,该列表提供关于全数内定的表类型的表的音信。这一个类别包括TABLE、SYSTEMTABLE 和 VIEW。type 的数据类型为 varchar(100卡塔尔国,私下认可值为 NULL。

注意:
种种表类型都必须用单引号引起来,整个参数必得用双引号引起来。表类型必需大写。要是SET QUOTED_IDENTIFIE传祺 为 ON,则每一个单引号必须换来双引号,整个参数必得用单引号引起来。  

[ @fUsePattern = ] 'fUsePattern'
规定下划线 (_State of Qatar、百分号 (%卡塔尔国 和方括号([ 或 ])是不是表达为通配符。有效值为 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.nameState of Qatar。在 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,无私下认可值。

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

始建存款和储蓄进度的语法:

           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,不用思谋严重等第。

本文由云顶集团用户登录发布于新闻动态,转载请注明出处:利用系统存储过程定义用户自定义数据类型

关键词: