首页 > 数据库技术 > 详细

数据库系统概论-第五章

时间:2019-05-24 13:36:56      阅读:131      评论:0      收藏:0      [点我收藏+]

动态SQL 编程语言使用函数连接数据库服务器,在运行时以字符串的形式构建交互查询 如JDBC和ODBC
嵌入式SQL 嵌入式SQL必须在编译时全部确定,提交给预处理器,预处理器提交SQL到数据库系统进行预编译和优化

JDBC java database connectivity

预编译语句可以解决SQL注入的问题

public static void connectExample(String userId,String password){

    try {
        Class.forName("Oracle.jdbc.driver.OracleDriver");

        Connection conn = DriverManager.getConnection("", userId, password);

        Statement stmt = conn.createStatement();
        
        stmt.executeUpdate("update student set name ='Harry' where id =1");

        ResultSet rset = stmt.executeQuery("select id,name from student where id =1");
        
        while(rset.next()){
            System.out.println("id: "+rset.getString("id")+",name: "+rset.getString("name"));
        }
        
    }catch(Exception e){
        e.printStackTrace();
    }
}

函数和过程

存储过程可以将业务逻辑持久化,提供给其他的业务进行调用。

函数
https://www.cnblogs.com/mafeng/p/7121473.html

CREATE FUNCTION func_name ( [func_parameter] ) //括号是必须的,参数是可选的
RETURNS type
[ characteristic ...] routine_body

CREATE FUNCTION 用来创建函数的关键字;
func_name 表示函数的名称;
func_parameters为函数的参数列表,参数列表的形式为:[IN|OUT|INOUT] param_name type

IN:表示输入参数;
OUT:表示输出参数;
INOUT:表示既可以输入也可以输出;
param_name:表示参数的名称;
type:表示参数的类型,该类型可以是MySQL数据库中的任意类型;

RETURNS type:语句表示函数返回数据的类型;

characteristic: 指定存储函数的特性,取值与存储过程时相同

MYSQL

Expressions 可以使用列值,NULL,MYSQL内置函数,用户自定义函数来写,其可以在SELECT,UPDATE,DELETE,ORDER BY,HAVING语句中使用。

创建函数时mysql提示:
Error Code: 1418. This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you might want to use the less safe log_bin_trust_function_creators variable)

解决方法:
SET GLOBAL log_bin_trust_function_creators = 1;

Error Code: 1054. Unknown column ‘employee_id‘ in ‘where clause‘

触发器

触发器是一条语句,当对数据库做响应的修改时,其被系统自动执行。

触发器可以实现未被SQL约束机制指定的某些完整性约束(比如未使用外键时保证字段值的一致性)

数据库系统概论-第五章

原文:https://www.cnblogs.com/Simon-cat/p/10917518.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!