Sql Server根据表名生成查询的存储过程(查询条件可选)
static void Main(string[] args)
{ string 表名 = "water_emstime";
string sql = "exec GetTableSelect " + 表名;
string ConString = "server=xxx.xxx.xx.xx;database=newFW;uid=sa;pwd=sa";
SqlDataAdapter da = new SqlDataAdapter(sql, ConString);
DataSet ds = new DataSet();
da.Fill(ds);
string ParmsList = "";
foreach (DataRow item in ds.Tables[0].Rows)
{
ParmsList += item[0].ToString() + "\n";
}
string Select = "";
Select += ds.Tables[1].Rows[0][0].ToString()+"\n";
foreach (DataRow item in ds.Tables[2].Rows)
{
Select += item[0].ToString() + "\n";
}
//根据表生成的查询存储过程
string procSelect = string.Format(@"create proc [dbo].[get_{0}]
(
{1}
)
as
begin
{2}
end", 表名, ParmsList, Select);//表名 、参数列表 、查询语句 // create proc [dbo].[oper_water_alarm]
//(
// @Param_monitoring_mn varchar(32)=Null,
// @Param_factor_id varchar(32)=Null,
// @Param_datatime datetime=Null,
// @Param_value numeric(9)=Null,
// @Param_flag varchar(10)=Null,
// @Param_action int
//)
//as
//begin
// if(@Param_action=0)
// begin
// insert into water_alarm(monitoring_mn,
//factor_id,
//datatime,
//value,
//flag)
// values (@Param_monitoring_mn,
//@Param_factor_id,
//@Param_datatime,
//@Param_value,
//@Param_flag);
// end
// else if(@Param_action=1)
// begin
// delete water_alarm
// where monitoring_mn=@Param_monitoring_mn
// end
// else
// begin
// Update water_alarm set monitoring_mn=@Param_monitoring_mn,
// factor_id=@Param_factor_id ,
// datatime=@Param_datatime ,
// value=@Param_value ,
// flag=@Param_flag
// where monitoring_mn=@Param_monitoring_mn
// end
//end }
Sql Server根据表名生成查询的存储过程(查询条件可选)的更多相关文章
- Sql Server根据表名获得所有列及其属性
select a.name columnname,c.name as typename,case when a.is_nullable =0 then 'Not Null' else 'Null' e ...
- SQL Server 根据表名取得 表主键
exec sp_primary_keys_rowset N'表名',NULL
- sql server - 修改表名、列名
EXEC sp_rename '旧表名', '新表名'; 例子 EXEC sp_rename 'saveremark', 'drawingLooking'; EXEC sp_rename '表名.[列 ...
- Sql Server备份表,动态生成表名称
1.常用的数据库备份表语句 SELECT * INTO tableNameNew FROM tableName 2.动态备份表,且备份表名称后面增加三位随机字符和当前日期 1 DECLARE @bak ...
- SQL Server 锁表、查询被锁表、解锁相关语句
SQL Server 锁表.查询被锁表.解锁相关语句,供参考. --锁表(其它事务不能读.更新.删除) BEGIN TRAN SELECT * FROM <表名> WITH(TABLOCK ...
- SQL Server调优系列基础篇(子查询运算总结)
前言 前面我们的几篇文章介绍了一系列关于运算符的介绍,以及各个运算符的优化方式和技巧.其中涵盖:查看执行计划的方式.几种数据集常用的连接方式.联合运算符方式.并行运算符等一系列的我们常见的运算符.有兴 ...
- SQL Server系统表介绍与使用
关于SQL Server数据库的一切信息都保存在它的系统表格里.我怀疑你是否花过比较多的时间来检查系统表格,因为你总是忙于用户表格.但是,你可能需要偶尔做一点不同寻常的事,例如数据库所有的触发器.你可 ...
- sql server 复制表从一个数据库到另一个数据库
sql server 复制表从一个数据库到另一个数据库 /*不同服务器数据库之间的数据操作*/ --创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQL ...
- SQL Server 创建表
SQL Server 创建表 我们在上一节中完成了数据库的创建,在本节,我们要往这个新的数据库中加入点数据,要想将数据添加到数据库,我们就必须在数据库中添加一个表,接下来来看看具体的操作. 我们的数据 ...
随机推荐
- LinkedIn架构这十年
原文: A Brief History of Scaling LinkedIn 2003年是LinkedIn元年,公司成立的目标是连接你的个人人脉以获得更好的的工作机会.上线第一周才有2700个会员注 ...
- kubernetes 环境搭建
一.规划1.系统centos 7 2.ip规划及功能分配192.168.2.24 master 192.168.2.24 etcd 192.168.2.25 node1(即minion)192.168 ...
- javascript 自定义Map
迁移时间:2017年5月25日08:24:19 Author:Marydon 三.自定义Map数据格式 需特别注意的是: js中没有像java中的Map数据格式,js自带的map()方法用于:返回 ...
- RCC 2014 Warmup (Div. 2) A~C
近期CF的pretext真是一场比一场弱.第一次在CF上被卡cin.cout.... A. Elimination time limit per test 1 second memory limit ...
- mysql中的时间类型datetime,date,time,year,timestamp小知识点
1.datetime,date,time,year四个类型的值,可以手动输入,也可以调用函数获得值 ① 手动输入,格式如下: datetime "2016-6-22 14:09:30&quo ...
- ubuntu安装Skype 4.3
Install Skype 4.3 Step 1: Remove previous version sudo apt-get remove skype skype-bin:i386 skype:i38 ...
- 区别原生chrome 和以chrome为内核的360浏览器
function isChrome360() { if( navigator.userAgent.toLowerCase().indexOf('chrome') > -1 ) { var des ...
- Quartz.NET 实现定时任务调度
Quartz.NET Quick Start Guide Welcome to the Quick Start Guide for Quartz.NET. As you read this guide ...
- Postman---html中get和post的区别和使用
get和post的区别和使用 Html中post和get区别,是不是用get的方法用post都能办到? Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DEL ...
- MOS管基本构造和工作原理
(一)http://v.youku.com/v_show/id_XMTM2NzcwMjE5Ng==.html (二)http://v.youku.com/v_show/id_XMTM2NzcwMjMw ...