PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

Ecto . के साथ पुनरावर्ती CTE का उपयोग करना

मैं इसे एक टुकड़े का उपयोग करके पूरा करने में सक्षम था। मेरे द्वारा उपयोग किए गए कोड का एक उदाहरण यहां दिया गया है। मैं शायद इस विधि को एक संग्रहीत कार्यविधि में ले जाऊँगा।

Repo.all(MyProj.User,
  from u in MyProj.User,
  join: un in MyProj.UserNode, on: u.id == un.user_id,
  join: nt in fragment("""
  (
    WITH RECURSIVE node_tree AS (
      SELECT *
      FROM nodes
      WHERE nodes.id = ?
    UNION ALL
      SELECT n.*
      FROM nodes n
      INNER JOIN node_tree nt ON nt.parent_id == n.id
    )
  ) SELECT * FROM node_tree
  """, ^node_id), on: un.node_id == nt.id
)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL में jsonb सरणी खोज रहे हैं

  2. PostgreSQL और SQL सर्वर के साथ UUID को हाइबरनेट करें

  3. pg_dump और psql -U के साथ एक डेटाबेस को स्थानांतरित करना db_name <... परिणाम को त्रुटि देता है:संबंध तालिका_नाम मौजूद नहीं है

  4. रेल मॉडल में विदेशी कुंजी जोड़ना

  5. निर्यात और आयात तालिका डंप (.sql) pgAdmin का उपयोग कर