达梦数据库查询每个schema下的每个表的数据条数,该怎么写
时间: 2023-04-04 11:03:55 浏览: 931
您可以使用以下 SQL 语句查询达梦数据库每个 schema 下每个表的数据条数:
SELECT table_schema, table_name, table_rows
FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema', 'mysql', 'performance_schema')
ORDER BY table_schema, table_name;
相关问题
查看达梦数据库编码格式
达梦数据库支持多种编码格式,包括GBK、UTF-8、UTF-16等。其中,GBK是中文编码格式,UTF-8和UTF-16是Unicode编码格式。在达梦数据库中,可以通过以下方式查看数据库的编码格式:
1. 登录达梦数据库,使用sysdba用户或者具有相应权限的用户。
2. 执行以下SQL语句:SELECT * FROM v$parameter WHERE name='nls_characterset';
3. 查看结果中的VALUE列,即可得知数据库的编码格式。
需要注意的是,如果数据库中存在多个schema,每个schema的编码格式可能不同。可以通过查询v$database视图或者v$parameter视图来获取整个数据库的编码格式信息。
达梦数据库创建DDL事件触发器
在达梦数据库中,可以使用DDL事件触发器来在数据库对象(如表、视图、索引等)发生变化时自动触发某个操作。下面是创建DDL事件触发器的语法:
```sql
CREATE TRIGGER trigger_name
{BEFORE | AFTER} {CREATE | ALTER | DROP} [DATABASE | TABLE | VIEW | INDEX]
[ON object_name]
[FOR EACH {ROW | STATEMENT}]
[WHEN (trigger_condition)]
[CALL procedure_name]
```
其中,关键字解释如下:
- `trigger_name`:触发器的名称。
- `BEFORE` 或 `AFTER`:指定触发时机,是在DDL操作之前还是之后触发。
- `CREATE`、`ALTER` 或 `DROP`:指定触发的DDL操作类型。
- `DATABASE`、`TABLE`、`VIEW` 或 `INDEX`:指定触发的对象类型。
- `object_name`:指定对象的名称,可以是数据库、表、视图或索引的名称。
- `FOR EACH {ROW | STATEMENT}`:指定触发的频率,是每行(ROW)还是每条语句(STATEMENT)。
- `WHEN (trigger_condition)`:可选项,指定触发条件,只有满足条件时触发器才会执行。
- `CALL procedure_name`:指定触发时执行的存储过程或函数。
例如,创建一个在表创建之前触发的DDL事件触发器:
```sql
CREATE TRIGGER trigger_name
BEFORE CREATE TABLE
ON schema_name.table_name
FOR EACH STATEMENT
CALL procedure_name;
```
需要根据具体的需求和数据库对象类型来定义相应的触发器。注意,在达梦数据库中,DDL事件触发器只能在同一个schema中定义。
阅读全文