动态sql语句功能很强大,可以实现许多我们需要的功能,下面就为您介绍一些动态sql语句基本语法方面的知识,供您参考学习。
1 :普通SQL语句可以用Exec执行 eg:
Select * from tableName Exec(‘select * from tableName’) Exec sp_executesql N’select * from tableName’ — 请注意字符串前一定要加N
2:字段名,表名,数据库名之类作为变量时,必须用动态sql语句eg:

declare @fname varchar(20) set @fname = ‘FiledName’ Select @fname from tableName — 错误,不会提示错误,但结果为固定值FiledName,并非所要。
Exec(‘select ‘ + @fname + ‘ from tableName’) — 请注意 加号前后的 单引号的边上加空格 当然将字符串改成变量的形式也可
declare @fname varchar(20) set @fname = ‘FiledName’ –设置字段名
declare @s varchar(1000) set @s = ‘select ‘ + @fname + ‘ from tableName’ Exec(@s) — 成功 exec sp_executesql @s — 此句会报错
declare @s Nvarchar(1000) — 注意此处改为nvarchar(1000) set @s = ‘select ‘ + @fname + ‘ fromtableName’ Exec(@s) — 成功
exec sp_executesql @s — 此句正确
3. 输出参数
declare @num int, @sqls nvarchar(4000) set @sqls=’select count(*) from tableName’ exec(@sqls)
–如何将exec执行结果放入变量中?
declare @num int, @sqls nvarchar(4000) set @sqls=’select @a=count(*) from tableName ‘ exec sp_executesql @sqls,N’@a int output’,@num output select @num
【编辑推荐】
动态sql中使用临时表的实例
Oracle存储过程使用动态SQL
SQL Server删除视图的两种方法
带您了解sql server内部变量
sql server表格变量的用法
如何使用动态SQL语句
mssql: declare@sql varchar(8000)set @sql= select * from table_name where 条件1 set@sql = @sql + 条件2 EXEC @SQL 完成了.
怎么样用SQL语句创建一个数据库
通常是使用CREATE DATABASE 数据库名称这个语句来创建数据库,但是在不同的数据库管理系统中,后续可以追加的参数有很大不同,例如数据文件存储在哪里,日志文件存储在哪里等,这需要看具体使用哪一种数据库了。
sql语句中ALTER TABLE MODIFY和ALTER TABLE CHANGE的区别?
1、CHANGE old_col_name column_definition子句对列进行重命名。 重命名时,需给定旧的和新的列名称和列当前的类型。 例如:要把一个INTEGER列的名称从a变更到b,您需要如下操作:< mysql> ALTER TABLE t1 CHANGE a b INTEGER。 2、改列的类型而不是名称, CHANGE语法仍然要求旧的和新的列名称,即使旧的和新的列名称是一样的。 例如:ALTER TABLE t1 CHANGE b b BIGINT NOT NULL. 3、使用MODIFY来改变列的类型,此时不需要重命名: 例如: ALTER TABLE t1 MODIFY b BIGINT NOT NULL。 简单基本的sql语句: 1、更新:Update table1 set field1=value1 where 范围。 2、查找:select * from table1 where field1 like ’%value1%’ (所有包含‘value1’这个模式的字符串)。 3、排序:select * from table1 order by field1,field2 [desc]。 4、求和:select sum(field1) as sumvalue from table1。 5、平均:select avg(field1) as avgvalue from table1。 6、最大:select max(field1) as maxvalue from table1。 7、最小:select min(field1) as minvalue from table1[separator]。
发表评论