惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Attack and Defense Labs
Attack and Defense Labs
The GitHub Blog
The GitHub Blog
C
Check Point Blog
博客园_首页
MongoDB | Blog
MongoDB | Blog
N
Netflix TechBlog - Medium
F
Full Disclosure
Microsoft Security Blog
Microsoft Security Blog
爱范儿
爱范儿
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
G
GRAHAM CLULEY
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Threat Research - Cisco Blogs
C
Cybersecurity and Infrastructure Security Agency CISA
V
Vulnerabilities – Threatpost
K
Kaspersky official blog
博客园 - 司徒正美
S
Schneier on Security
T
The Exploit Database - CXSecurity.com
Project Zero
Project Zero
云风的 BLOG
云风的 BLOG
Cisco Talos Blog
Cisco Talos Blog
Know Your Adversary
Know Your Adversary
雷峰网
雷峰网
V
V2EX - 技术
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Spread Privacy
Spread Privacy
罗磊的独立博客
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
S
Security Affairs
SecWiki News
SecWiki News
Schneier on Security
Schneier on Security
O
OpenAI News
Jina AI
Jina AI
PCI Perspectives
PCI Perspectives
Cyberwarzone
Cyberwarzone
Y
Y Combinator Blog
Apple Machine Learning Research
Apple Machine Learning Research
B
Blog RSS Feed
I
InfoQ
D
Docker
P
Palo Alto Networks Blog
Recorded Future
Recorded Future
M
MIT News - Artificial intelligence
博客园 - Franky
B
Blog
Scott Helme
Scott Helme
博客园 - 叶小钗
D
DataBreaches.Net

博客园 - lgzh

spring boot 调用python ,研发环境下AttributeError: module 'clip' has no attribute 'load' el-tree选中背景变色 jquery datatable分页 png 变透明 Code First 不自动生成数据库 读取文件不是真实的具体路径 setZh.ini win10 开发mfc 64位 ocx控件 win7 下加载MSCOMCTL.OCX getGLES1ExtensionString: Could not find GLES 1.x config! IUnknown(TVarData(Params[0]).VPointer) as Range win8 VB6打开提示MSCOMCTL.ocx未注册 js 动态添加行,删除行,并获得select中值赋予 input .net 安装包制作 大图 预览 android 创建数字签名应用程序 android java.net.socketexception permission denied an error occurred while signing: '.', hexadecimal value 0x00, is an invalid character IIS配置、403.6 无权查看,网页拒绝访问 C#后台调用Delphi 的Ocx
SQL Server 自定义函数 返回树结构函数
lgzh · 2012-11-01 · via 博客园 - lgzh

数据库结构:

image

表内的数据:

image

自定义函数: 递归查出 树下所有节点 ,参数是 父id

 create  function sss(@id as int)
  returns @t table
  (
    id int not null,
    name int not null,
    pid int null
  )
  as
  begin
  declare @lay as int;
  insert into @t 
  select * from tree where pid =@id;
  
  select @lay = min(id) from tree where pid =@id; --第一次 @lay=5
  
  while @lay is not null
  begin
  
    insert into @t 
    select * from sss(@lay);
    
    select @lay=min(id) from tree
    where id>@lay and pid=@id
  end
  return;
  end
  go
  
  
 
.net代码:
 string cons = ConfigurationManager.ConnectionStrings["ApplicationServices"].ToString();

        using (SqlConnection con=new SqlConnection(cons))
        {
            if (con.State==ConnectionState.Closed)
            {
                con.Open();
                
            }

            string sql = "select * from sss(@id)";
            SqlCommand cmd = new SqlCommand(sql,con);
          
            cmd.CommandType = CommandType.Text;
           

            cmd.Parameters.Add(new SqlParameter("@id", DbType.Int32)).Value = 4;
            cmd.Parameters.Add("@re",DbType.String);
            cmd.Parameters["@re"].Direction = ParameterDirection.ReturnValue;

            SqlDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                int i = 0;
                Response.Write(dr[0].ToString() + "\t\t\t" +dr[1].ToString() +"\t\t\t"+  dr[2].ToString() + "</br>");
                i++;
                
            }




            con.Close();

 }

实现的效果如下:

image