|
导读数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应... 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。 1:普通SQL语句可以用Exec执行 eg: Select * from tableName Exec('select * from tableName') sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N 2:字段名,表名,数据库名之类作为变量时,必须用动态SQL eg: declare @fname varchar(20) set @fname = '[name]' Select @fname from sysobjects -- 错误 Exec('select ' + @fname + ' from sysobjects') -- 请注意 加号前后的 单引号的边上要加空格 exec sp_executesql N' select ' + @fname + ' from sysobjects' 当然将字符串改成变量的形式也可 declare @s varchar(1000) set @s = 'select ' + @fname + ' from sysobjects' Exec(@s) -- 成功 exec sp_executesql @s -- 此句会报错 declare @s Nvarchar(1000) -- 注意此处改为nvarchar(1000) set @s = 'select ' + @fname + ' from sysobjects' Exec(@s) -- 成功 exec sp_executesql @s -- 此句正确, 3: 输出参数 eg: declare @num, @sqls set @sqls='select count(*) from ' + @servername + '.a.dbo.b' exec(@sqls) 我如何能将exec执行的结果存入变量@num中 declare @num int, @sqls nvarchar(4000) set @sqls='select @a=count(*) from '+@servername+'.a.dbo.b' exec sp_executesql @sqls,N'@a int output',@num output select @num
全新的路由器不仅让你更稳定快速地连接无线网络,更可以让家中的智能设备连接在一起。
|