一张表T_EDW_MNG_SETMT_ACFT_INFO_FILTER 和一张试图MNG_SRC.V_MNG_ACFT,通过SQL语句使用试图MNG_SRC.V_MNG_ACFT中的ACFT_SEAT_COUNT字段的值更新表T_EDW_MNG_SETMT_ACFT_INFO_FILTER中的zdzw和kgzw 两个字段的值。其中表一张表T_EDW_MNG_SETMT_ACFT_INFO_FILTER中有ACFT_NO字段 和一张试图MNG_SRC.V_MNG_ACFT的ACFT_REGST_NO字段值相同的
时间: 2023-07-21 20:06:14 浏览: 64
可以使用以下SQL语句来实现更新操作:
```sql
UPDATE T_EDW_MNG_SETMT_ACFT_INFO_FILTER
SET zdzw = V_MNG_ACFT.ACFT_SEAT_COUNT,
kgzw = V_MNG_ACFT.ACFT_SEAT_COUNT
FROM T_EDW_MNG_SETMT_ACFT_INFO_FILTER
JOIN MNG_SRC.V_MNG_ACFT ON T_EDW_MNG_SETMT_ACFT_INFO_FILTER.ACFT_NO = V_MNG_ACFT.ACFT_REGST_NO;
```
上述语句使用了UPDATE和JOIN语句来更新表T_EDW_MNG_SETMT_ACFT_INFO_FILTER中的zdzw和kgzw字段的值。通过将表T_EDW_MNG_SETMT_ACFT_INFO_FILTER和试图MNG_SRC.V_MNG_ACFT连接在一起,使用ACFT_NO字段和ACFT_REGST_NO字段的匹配条件来关联两个表。然后,通过将ACFT_SEAT_COUNT字段的值赋给zdzw和kgzw字段,来更新表T_EDW_MNG_SETMT_ACFT_INFO_FILTER中的对应记录的值。
相关问题
postgres 删除用户报错privileges for foreign table edw_opr.rpt_t_claim_rese_list_foreign privileges for foreign table edw_opr.ml_t_rese_list_foreign privileges for foreign table edw_opr.ml_t_rese_detail_list_foreign privileges for foreign table edw_opr.tmp_rpt_t_cy_ls_rate_d_his_t1_foreign privileges for foreign table edw_opr.rpt_t_calendr_year_l_rate_d_t2_foreign privileges for foreign table edw_opr.gsl_t_rese_coverage_info_m_foreign privileges for foreign table edw_opr.test_gcm_0514_04_foreign
在 PostgreSQL 中,如果你想要删除一个用户,但是该用户拥有外部表的权限,你需要先撤销该用户对这些外部表的权限,然后再进行删除操作。你可以按照以下步骤来操作:
1. 首先,通过以下命令查看该用户拥有权限的外部表:
```sql
SELECT table_schema, table_name
FROM information_schema.table_privileges
WHERE grantee = 'your_username' -- 替换成你要删除的用户的用户名
AND table_type = 'FOREIGN TABLE';
```
2. 对于每个返回的外部表,使用以下命令来撤销用户对该表的权限:
```sql
REVOKE ALL PRIVILEGES ON FOREIGN TABLE table_schema.table_name FROM your_username; -- 替换成对应的表和用户
```
例如:
```sql
REVOKE ALL PRIVILEGES ON FOREIGN TABLE edw_opr.rpt_t_claim_rese_list_foreign FROM your_username; -- 替换成对应的表和用户
```
3. 当你撤销了所有外部表的权限后,你可以使用以下命令删除该用户:
```sql
DROP USER your_username; -- 替换成要删除的用户名
```
请确保在执行这些操作之前,你具有足够的权限来修改用户和外部表的权限,并且谨慎操作以避免意外删除或修改。
如何解决role "r_xiu_bi" cannot be dropped because some objects depend on it 详细:privileges for table edw_opr.t_cv_cvm_customerapplicantinsuredproduct_info privileges for view gio.mv_amo_event_log privileges for view gio.mv_mc_event_log privileges for table r_ex_hedong.ml_t_policy_retail_healthy Line Number: 39
要解决这个问题,可以按照以下步骤进行操作:
1. 查找依赖该角色的对象。根据错误信息中提供的信息,可以知道该角色被赋予了一些表和视图的权限。因此,可以通过查询数据库的系统表来查找具体依赖该角色的对象,例如对于 PostgreSQL 数据库,可以使用以下查询语句来查找依赖该角色的对象:
```
SELECT * FROM information_schema.role_table_grants WHERE grantee = 'r_xiu_bi';
```
这条查询语句将返回所有授予角色 "r_xiu_bi" 的表和视图的权限信息。
2. 解除对象与角色的关联。对于每个依赖该角色的对象,需要将其与该角色的关联解除,例如可以使用以下语句来解除表 "edw_opr.t_cv_cvm_customerapplicantinsuredproduct_info" 与角色 "r_xiu_bi" 的关联:
```
REVOKE ALL PRIVILEGES ON TABLE edw_opr.t_cv_cvm_customerapplicantinsuredproduct_info FROM r_xiu_bi;
```
同样地,对于所有依赖该角色的对象,都需要将其与该角色的关联解除。
3. 删除角色。在所有依赖该角色的对象与该角色的关联都被解除后,就可以删除该角色了,可以使用以下语句来删除角色:
```
DROP ROLE r_xiu_bi;
```
如果删除操作成功,将不再出现 "role cannot be dropped because some objects depend on it" 的错误信息。
需要注意的是,在进行上述操作时,一定要慎重,确保不会影响到数据库中的其他对象,否则可能会造成不可恢复的损失。建议在进行这些操作前先备份数据库。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)