SQL Server 动态查询

前面介绍的各种查询方法中使用的 SQL 语句都是固定的,这些语句中的查询条件相关的数据类型都是固定的,这种 SQL 语句称为静态 SQL 语句。静态 SQL 语句在许多情况下不能满足要求,不能编写更为通用的程序,例如有一个学生成绩表,对于学生来说,只想查询自己的成绩,而对于老师来说,可能想要知道班级里面所有学生的成绩。这样一来,不同的用户查询的字段列是不相同的,因此必须在查询之前动态指定查询语句的内容,这种根据实际需要临时组装成的 SQL 语句,就是动态 SQL语句。
动态语句可以有完整的SQL语句组成,也可以根据操作分类,分别指定SELECT或INSERT等关键字,同时也可以指定查询对象和 查询条件。
动态SQL语句是在运行时有程序创建的字符串,他们必须是有效的SQL语句。
例:
declare @id int;
declare @sql varchar (8000)
select @id=101;
select @sql='select coulnm1,coulnm2' from ta ble
where id= ';
exec(@sql + @id);


你可能感兴趣的:(SQL Server)