2017-02-28 30 views
4

如果DDL和DML基本上都是:是存储过程DDL还是DML?

  • DDL =数据定义语言
  • DML =数据操纵语言

我一直分类存储过程的DDL,因为它们使用Structured Query language

但最近有人辩论说,存储过程应该是DML,或者应该属于不同的分类,因为它们内部有DDL和DML。

我搜索互联网,我没有找到在哪里存储过程被列为DDL任何信任的文档,那么我可以不争论更多...

因此,问题很简单:存储过程DDL?或DML?

+2

的存储过程创建* *使用DDL,但可以_contain_ DML和DDL –

+0

同意你的观点,但你有没有指示任何链接或文件? –

+0

所有DBMS的所有手册 –

回答

3

存储过程可以包含自己的身体内部DML和DDL逻辑,但是所存储的程序本身装配在DDL分类,按以下定义:

数据定义语言(DDL)语句用于定义 数据库结构或模式。一些例子:

1. CREATE: To create objects in the database 
2. ALTER: Alters the structure of the database 
3. DROP:  Delete objects from the database 
4. TRUNCATE: Remove all records from a table, including all spaces allocated for the records are removed 
5. COMMENT: Add comments to the data dictionary 
6. RENAME: Rename an object 

数据操纵语言(DML)语句用于模式对象内管理数据。一些例子:

1. SELECT:  Retrieve data from the a database 
2. INSERT:  Insert data into a table UPDATE - updates existing data within a table 
3. DELETE:  Deletes all records from a table, the space for the records remain 
4. CALL:   Call a PL/SQL or Java subprogram  
5. EXPLAIN PLAN: Explain access path to data 
6. LOCK TABLE: Control concurrency 
相关问题