本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/7863050.html?templateId=171...
背景
YashanDB创建表用的是小写做为表名,对函数参数有表名,要如何输入小写表名。
解决方法
以收集统计信息为例
1、对交互式的客户端,如:yasql、YDC(YashanDB Developer Center)
在单引号下加双引号限定为小写,
EXEC DBMS\_STATS.GATHER\_TABLE\_STATS('SYS', '"t\_lower"', '', 1, FALSE, 'FOR ALL COLUMNS SIZE AUTO', 4, 'AUTO', TRUE);
2、非交互式命令,如: yasql sys/密码 -c "SQL命令"
除了加双引号限定还需要加反斜杆进行转义
yasql sys/密码 -c "EXEC DBMS\_STATS.GATHER\_TABLE\_STATS('SYS', '\"t\_lower\"', '', 1, FALSE, 'FOR ALL COLUMNS SIZE AUTO', 4, 'AUTO', TRUE)"
详细案例
create table "t\_lower" (a int, "b" char(10)); --
insert into "t\_lower" values(1,'aaa');
commit;
EXEC DBMS\_STATS.GATHER\_TABLE\_STATS('SYS', '"t\_lower"', '', 1, FALSE, 'FOR ALL COLUMNS SIZE AUTO', 4, 'AUTO', TRUE); -- 收集小写表名统计信息
select table\_name, last\_analyzed from dba\_tables where owner='SYS' and lower(table\_name)='t\_lower'; -- 查询收集结果
非交互式命令:
yasql sys/密码 -c "EXEC DBMS\_STATS.GATHER\_TABLE\_STATS('SYS', '\"t\_lower\"', '', 1, FALSE, 'FOR ALL COLUMNS SIZE AUTO', 4, 'AUTO', TRUE)"
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。