关于权限
我们创建一个视图或者表之后,通常需要把该表给与某个角色拥有权,其它角色拥有查询权。
比如
ALTER TABLE test_tab
OWNER TO postgres;
GRANT ALL ON TABLE test_tab TO postgres;
GRANT ALL ON TABLE test_tab TO test_role;
OWNER TO postgres;
GRANT ALL ON TABLE test_tab TO postgres;
GRANT ALL ON TABLE test_tab TO test_role;
这样test_role 针对test_tab拥有查询以及修改权限,但是test_role 只拥有查询权限。
我们有时针对第三方对接,可能会使用到需要提供给第三方视图,我们通过新建一个角色,并且
只赋予某个视图查询权限就可以完成了。
如果没有权限,而去修改的话,就会提示一个错误,那就是 must be owner of relation test_tab
但是经过测试,postgres好像是拥有最高权限,也即拥有管理员权限,不论其它表的拥有者是不是postgres,它都可以访问和修改,这就是管理员
最高权限的象征吧。
方法一:varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace 替换 text ntext 数据类型字段的语句 。
1
|
update
表名
set
字段名=
replace
(
cast
(与前面一样的字段名
as
varchar
(8000)) ,
'原本内容'
,
'想要替换成什么'
)
|
方法二:
1
|
update
[表名]
set
字段名 =
replace
(与前面一样的字段名,
'原本内容'
,
'想要替换成什么'
)
|
查询重复数据
select count(*),id from 表名 group by id having count(*)>1