快捷搜索:
来自 网络数据库 2019-06-20 08:32 的文章
当前位置: 67677新澳门手机版 > 网络数据库 > 正文

Server用户自定义数据类型,存储过程浅解

用户自定义数据类型:基于系统数据类型,由数据库管理教员和学生成。
应用系列存款和储蓄进程定义用户自定义数据类型`
  Sp_addtype [@typename=] 新数据类型名,
  [@phystype=] 系统数据类型名
  [,[@nulltype=] null_type]
  [,[@owner=] owner_name]
  系统数据类型名,除了“BIG,INT,SMALLINT,TEXT,DATETIME,REAL,UNIQUE IDENTIFIESportage,IMAGE”,其它必须用单引号括起来。  
  null_type:新数据类型处理空值的诀窍,能够取NOT NULL 或NULL,默感到null
  owner_name:新数据类型的主人,私下认可为当前用户。

列出驻留在 SQL Server 2007 数据库引擎实例中的数据库或能够经过数据库网关访问的数据库。为啥要利用存款和储蓄进程?

          使用存款和储蓄过程能够抓牢实施进程、允许方式化的次序设计、提升数据的安全性、减弱网络流通量等

哪些是储存进度?

           存储过程正是将贰个或一群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.name)。在 SQL Server 中,此列表示数据库名称。在好几产品中,该列表示表所在数据库景况的劳动器名。

[ , [ @table_type = ] "'type', 'type'" ]
由逗号分隔的值列表,该列表提供有关全数钦命的表类型的表的音讯。这么些体系包括TABLE、SYSTEMTABLE 和 VIEW。type 的数据类型为 varchar(100),暗许值为 NULL。

注意:
各种表类型都不可能不用单引号引起来,整个参数必须用双引号引起来。表类型必须大写。若是SET QUOTED_IDENTIFIE奥迪Q7 为 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,无暗中认可值。

例如:

用户自定义的蕴藏进度

本文由67677新澳门手机版发布于网络数据库,转载请注明出处:Server用户自定义数据类型,存储过程浅解

关键词: