• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

用自函F功能——-根付ū砻_sqlserver

sqlserver 搞代码 3年前 (2018-06-16) 75次浏览 已收录 0个评论

               函倒δ埽焊砻玫奖淼牧忻皖型

 

我在sql程序r,多少都玫揭恍┫到y冉ǖ暮,如right(),datalength()等,但是,我在工程_lr,如果希望能F一些符合特殊的要求的淼脑,就需要自已函,如下面的例子是一得到表的Y的函

http://www.gaodaima.com/35606.html用自函F功能——-根付ū砻_sqlserver

函档姆诸:

1.量函担捍祟函惦bЩ我坏

2.骰暮担骰匾Table型e的,分橐韵深:

     2.1 行担汉档热菔且Select Z句

     2.2 多⑹龊:函档热菔怯啥Select Z句M成

本例是用一多⑹龊,它的格式:

create function function_name

([@parameter_name]:魅)

returns @return_variable table(返回表的有P信息)

as

begin

   function_body

  return

end

 

例代a:

create function tablestructure
(@objname nvarchar(111))—-此橐樵的表的名Q
———————————————-

–fieldname楸淼牧械拿Q,type是列的型,length榱械拈L度,null表示是否允S榭

returns @table  table(  fieldname  varchar(50),
                                   type   varchar(16),
                                   length int,
                 nullable varchar(3))
———————————————-                                
begin
     declare @objid int

—1.先表sysobjects中得到c魅氲谋砻(name)相匹配的ο笞Rea(id)

–sysobjects是包含在中建立的每一ο (l件s束、AO值、n、t、存^程等等) 的一有
     select @objid=id from sysobjects where id=object_id(@objname)

–syscolumns是包含每Y料表及D中的每Y料行的一

—2.再表syscolumns中取得c目吮碜Rea(id)相符、且不是程序目的的

     (列名、型、L度、列是否允S榭)的
     insert @table
     select
    ‘fieldname’  =name,
    ‘type’                            =type_name(xusertype),
    ‘length’  =convert(int,length),
    ‘nullable’  =case when isnullable=0 then ‘no’ else ‘yes’ end
    from syscolumns where [email protected] and number=0 order by colid
   return
end

 

                         liaodaibo

欢迎大家阅读《用自函F功能——-根付ū砻_sqlserver,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址