SQLServer

SQL安全:浅谈为什么#{}可以防止SQL注入

#{} 和 ${} 的区别 #{} 匹配的是一个占位符,相当于 JDBC 中的一个?,会对一些敏感字符进行过滤,编译过后会对传递的值加上双引号,因此可以防止 SQL 注入问题。 ${} 匹配的是真实传递的值,传递过后,会与 SQL 语句进行字符串拼接。${...

SQL Server如何查看login所授予的具体权限问题

在SQL Server数据库中如何查看一个登录名(login)的具体权限呢,如果使用SSMS的UI界面查看登录名的具体权限的话,用户数据库非常多的话,要梳理完它所有的权限,操作又耗时又麻烦,个人十分崇尚简洁、高效的方法,反感那些需要大量手工操作的UI界面操...

SQL基础:SQL Server创建用户定义函数

一、UDF的定义 和存储过程很相似,用户自定义函数也是一组有序的T-SQL语句,UDF被预先优化和编译并且可以作为一个单元来进行调用。 UDF和存储过程的主要区别在于返回结果的方式: 使用UDF时可传入参数,但不可传出参数。输出参数的概念被更为健壮的返回值...

SQL基础:SQLServer只赋予创建表权限的全过程

背景 今天客户问到一个问题。 我想新建一个账号给外部人员使用,但是我只想给他创建表的权限,这应该如何操作。开始可能认为这个问题很简单。 我新建一个登录账号A USE [master] GO CREATE LOGIN [A] WITH PASSWORD=N&...

SQL判断是否存在, 可以不用count 操作?很耗时的!

根据某一条件从数据库表中查询 『有』与『没有』,只有两种状态,那为什么在写SQL的时候,还要select count(*) 呢? 无论是刚入道的程序员新星,还是精湛沙场多年的程序员老白,都是一如既往的count. 目前多数人的写法 多次 review 代码...

SQL开发知识:SqlServer AS的用法

SQL语句可以为 表名称 或 列名称 指定别名。(别名有时也称为导出列,不管是导出列还是别名,它们所代表的都是相同的东西。) SQL 别名 SQL 别名用于为 表 或 表中的列 提供临时名称。  SQL 别名通常用于使 表名 或 列名 更具可读性...