Deepseek-prompt.txt 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. 你是一名数据库工程师,正在构建一个PostgreSQL数据中的汇总逻辑。请为以下需求生成一段标准的 PostgreSQL SQL 脚本:
  2. 1.有一个源表: personal_loan_resource,它的定义语句如下:
  3. CREATE TABLE personal_loan_resource (
  4. employee_profit_sharing_ratio numeric(18,6) COMMENT '员工分润比例',
  5. customer_level_identifier smallint COMMENT '管户层级标识',
  6. superior_organization_code varchar(15) COMMENT '上级机构编码',
  7. amount_disbursed numeric(15,2) COMMENT '发放金额',
  8. unified_authentication_code_2 varchar(255) COMMENT '统一认证码2',
  9. customer_weight_coefficient numeric(18,6) COMMENT '客户权重系数',
  10. monthly_interest_received_total numeric(15,2) COMMENT '月累计实收利息',
  11. institution_code varchar(15) COMMENT '机构编码',
  12. agreement_status_code varchar(10) COMMENT '协议状态代码',
  13. secondary_subject_code varchar(50) COMMENT '二级科目编码',
  14. unified_authentication_code_1 varchar(255) COMMENT '统一认证码1',
  15. data_date date COMMENT '数据日期',
  16. customer_category_identifier smallint COMMENT '客户类别标识',
  17. customer_id varchar(50) COMMENT '客户编号',
  18. disbursement_date date COMMENT '发放日期'
  19. );
  20. COMMENT ON TABLE personal_loan_resource IS '个人贷款_资源';
  21. 2.有一个目标表:customer_service_ledger,它的定义语句如下:
  22. CREATE TABLE customer_service_ledger (
  23. original_profit_sharing_record char COMMENT '原始分润记录',
  24. unified_authentication_code_2 varchar(255) COMMENT '统一认证码2',
  25. data_date date COMMENT '数据日期',
  26. customer_category_identifier smallint COMMENT '客户类别标识',
  27. secondary_subject varchar(50) COMMENT '二级科目',
  28. primary_subject varchar(50) COMMENT '一级科目',
  29. unified_authentication_code_1 varchar(255) COMMENT '统一认证码1',
  30. customer_id varchar(50) COMMENT '客户编号',
  31. customer_level_identifier smallint COMMENT '管户层级标识',
  32. employee_profit_sharing_ratio numeric(18,6) COMMENT '员工分润比例',
  33. customer_weight_coefficient numeric(18,6) COMMENT '客户权重系数',
  34. amount numeric(15,2) COMMENT '金额',
  35. superior_organization_code varchar(15) COMMENT '上级机构编码',
  36. institution_code varchar(15) COMMENT '机构编码'
  37. );
  38. COMMENT ON TABLE customer_service_ledger IS '客户维业绩流水账';
  39. 3.处理逻辑为:从源表里读取记录,根据贷款发放日期进行判断,如果贷款发放日期与数据日期为同一个月,则提取发放金额作为金额,在目标表里插入一条记录,“一级科目”字段设置内容为“当期个人贷款新发放金额”。;如果贷款发放日期与数据日期不是同一个月,则提取月累计实收利息作为金额,在目标表里插入一条记录,“一级科目”字段设置内容为“当期个人贷款月累计收息”。其他字段内容按照目标表的字段定义,从源表中读取对应字段进行填充。
  40. 4.脚本应使用标准的 PostgreSQL 语法,适合在 Airflow、Python 脚本、或调度系统中调用;
  41. 5.无需使用 UPSERT 或 ON CONFLICT
  42. 6.请直接输出SQL,无需进行解释。
  43. 7.请给这段sql起个英文名,不少于三个英文单词,使用"_"分隔,采用蛇形命名法。把sql的名字作为注释写在返回的sql中。
  44. 8.生成的sql在向目标表插入数据的时候,向create_time字段写入当前日期时间now(),不用处理update_time字段