动态sql语句基本语法
1 :普通SQL语句可以用Exec执行
例: Select * from tableName
Exec('select * from tableName')
Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N
2:字段名,表名,数据库名之类作为变量时,必须用动态SQL
错误: 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) -- 成功
相关文档:
一、简单实用的备份方法:
企业管理器中的Tools,Database Maintenance Planner,可以设置数据库的定期自动备份计划。并通过启动Sql server Agent来自动运行备份计划。具体步骤如下:
1、打开企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器
2、然后点上面菜单中 ......
SQL Server 2005 没有SQL Server Management Studio
安装visual studio 2005的时候系统也装了SQL 2005。请注意,这时安装上的SQL2005是Express版本的,既不是企业版,也不是开发者版。这时的Express版是没有安装SQL Server Management Studio 的,只有配置工具,也就是说你在开始菜单只看得到配置工具。
这时 ......
--作用:数据库中的表备份成文本
Declare @tabname varchar(200),@ip varchar(50),@user varchar(50),@password varchar(50),@sql varchar(1000),@filetxt varchar(200),@file varchar(50)
set @tabname='database.dbo.tb' --表名
set @ip='127.0.0.1' --IP地址,本机的话就写127.0.0.1
set @user='sa' ......
SqlDataSourceEnumerator instance =SqlDataSourceEnumerator.Instance;
System.Data.DataTable table = instance.GetDataSources();
或
System.Data.Sql.SqlDataSourceEnumerator.Instance.GetDataSources();
返回Datatable
此table包含以下四个字段
Console.WriteLine("服务器名 = {0}", r ......
优点:字段较少,有增删改查功能,不过查询太笼统。
缺点:
1.不算是在很正的无限分类,ClassPath这个字段定义限制。
2.主键CLASSID不是自增的,使用CODESMITH批量生成多层架构代码中会导致出错。
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ArticleClass]') and OBJECTPROPERTY(id, N'IsUse ......