SQL技巧(sp_procedure_params_rowset,SQL中设置数据值为null)

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
SQL技巧(sp_procedure_params_rowset,SQL中设置数据值为null) 1.在SQL Server数据库中要把某个字段改null? 语句:set xxxx=null; 快捷键:ctrl + 0; 2.得到任意一个存储过程的参数列表 方法1: select c.name from syscolumns c,sysobjects o where o.id=c.id and o.xtype='P' and o.name='your proc name' 方法2: exec sp_procedure_params_rowset @procedure_name = 'storeproc name' 例如: 1)、 select c.name,c.colorder from syscolumns c,sysobjects o where o.id=c.id and o.xtype='P' and o.name='proc_EMS_SearchEquipment' 得到 @type 1 @model 2 @location 3 @description 4 2)、sp_procedure_params_rowset @procedure_name='proc_EMS_SearchEquipment' DBName dbo proc_EMS_SearchEquipment;1 @RETURN_VALUE 0 4 0 NULL 0 3 NULL NULL 10 NULL NULL int int DBName dbo proc_EMS_SearchEquipment;1 @type 1 1 0 NULL 1 3 NULL NULL 10 NULL NULL int int DBName dbo proc_EMS_SearchEquipment;1 @model 2 1 0 NULL 1 129 50 50 NULL NULL NULL varchar varchar DBName dbo proc_EMS_SearchEquipment;1 @location 3 1 0 NULL 1 129 50 50 NULL NULL NULL varchar varchar DBName dbo proc_EMS_SearchEquipment;1 @description 4 1 0 NULL 1 129 100 100 NULL NULL NULL varchar varchar 3.怎样使用该函数 //执行存储过程 public DataSet ExecuteDataSet(string storedProcedure, params object[] param) { SqlCommand selectCommand = this.GenerateCommand(storedProcedure, param); selectCommand.CommandTimeout = 300; DataSet dataSet = null; SqlDataAdapter adapter = new SqlDataAdapter(selectCommand); try { dataSet = new DataSet(); adapter.Fill(dataSet); } catch (Exception exception) { throw exception; } finally { if (!this.UnderTran) { this.Connect.Close(); } } return dataSet; } //将传入的object[]值赋给对应存储过程参数 private SqlCommand GenerateCommand(string cmdstr, params object[] val) { SqlCommand command = new SqlCommand(cmdstr, this.Connect); command.CommandType = CommandType.StoredProcedure; if (!this.UnderTran && (this.Connect.State != ConnectionState.Open)) { this.Connect.Open(); } else { command.Transaction = this.Tran; } if ((val != null) && (val.Length > 0)) { SqlCommand selectCommand = new SqlCommand("sp_procedure_params_rowset", this.Connect); if (this.UnderTran) { selectCommand.Transaction = this.Tran; } selectCommand.CommandType = CommandType.StoredProcedure; selectCommand.Parameters.Add("@procedure_name", cmdstr); DataSet dataSet = new DataSet(); new SqlDataAdapter(selectCommand).Fill(dataSet); DataTable table = dataSet.Tables[0]; table.Rows.RemoveAt(0); for (int i = 0; i < val.Length; i++) { if (val[i] != null) { command.Parameters.Add(table.Rows[i]["PARAMETER_NAME"].ToString(), val[i]); } } } return command; } //调用函数 public DataTable SearchEquipment(int type,string model,string location,string description)//OSR.Entity.EMSData { object[] obj = new object[4]; obj[0] = type; obj[1] = model; obj[2] = location; obj[3] = description; return visitor.ExecuteDataSet("proc_EMS_SearchEquipment", obj).Tables[0]; }
sql指南之null用法 阅读详情

相关推荐

SQL得到任意一个存储过程的参数列表sp_procedure_params_rowset

SQL得到任意一个存储过程的参数列表sp_procedure_params_rowsetexec sp_procedure_params_rowset 'up_rpt营业收入汇总表' PROCEDURE_CATALOG PROCEDURE_SCHEMA PROCEDURE_NAME PARAMETER_NAME ORDINAL_POSITION PAR...

weixin_30586085的博客 175

SQL Server 2000 元数据应用(三):获得数据库中存储过程的参数和数据字段

SQL Server 2000 元数据应用(三):获得数据库中存储过程的参数和数据字段 EXECsp_procedure_params_rowsetN'usp_Account_Login',1,N'dbo',NULL SETFMTONLYONEXEC[dbo].[usp_Account_Login]NULL,NULLSETFMTONLYOFF 转载于:ht...

weixin_30496751的博客 195

sql设置一个字段为空(null

UPDATE project_file set file= null where id = 7 结果为:空(null) 不是字符串'null' UPDATE project_file set file= 'null' where id = 7 结果为:'null' 是字符串...

清平调、其N 的博客 5万+

sql数据定义语句(cascade,set,null,no action的区别)

1.首先明确一个概念,假如表A(id,name,foreign_id),表B(foreign_id,name),我们说表A参考了表B的主键作为其外键使用,所以B表示父表,A表是子表。(2)set null:置空,当父表更新、删除的时候,字表会把外键字段变为null,所以这个时候设计表的时候该字段要允许为null,否则会出错。(3)restrict:父表在删除和更新记录的时候,要在子表中检查是否有有关该父表要更新和删除的记录,如果有,则不允许删除个更改。●再删除基本表的同时,相关的依赖对象一起删除。

weixin_69884785的博客 1631

SQL 设置(NULL)

update TABLE set VALUE=NULL; 将表 TABLE 的 VALUE 字段设置NULL, 没有数据。 对于字段NULL的,执行 SQL 的 C API 返回的将是: 字符串 --- “” 整型 --- 0 转载于:https://www.cnblogs.com/YBhello/p/5207857.html...

weixin_33885253的博客 3799

sql语句 字段update为null

今天写sql碰到一个问题:          想要更新某张表中额字段 设置字段null            一开始用 update table A set 字段a is null where 字段b = 条件.          但是失败了  出现一个 [Err] ERROR:  syntax error at or near "update";的错误.          查询资料之

u013702409的专栏 9万+

Sql2008 SQL_STORED_PROCEDURE

SQL_STORED_PROCEDURE ================================sp_MSalreadyhavegenerationsp_MSwritemergeperfcountersp_replshowcmdssp_publishdbsp_addqueued_artinfosp_MSget_subscription_dts_infosp_help_spatial_g...

weixin_30877227的博客 520

数据库中null与''的小坑

这个小坑是昨天遇到的,是一个很粗心的问题,按道理说根本不应该出现。 数据库默认是null,所以有个SQL语句查找地址为空的数据,就写成了 and address is null。然后过测试同学,测试直接把地址删掉清空了,没展示出来他就以为功能出问题了,但是我们都知道null != ‘’ ;然后就改呗,神仙改法 加了个 or ,and address is null or address = ‘’...

whiteBearClimb的博客 367

sql外键约束NO ACTION,CASCADE,SET NULL,SET DEFAULT

 NO ACTION指定如果试图删除/修改某一行,而该行的键被其他表的现有行中的外键所引用,则产生错误并回滚 DELETE/UPDATE语句。CASCADE、SET NULL 和 SET DEFAULT允许通过删除或更新键来影响指定具有外键关系的表,这些外键关系可追溯到在其中进行修改的表。如果为目标表也定义了级联引用操作,那么指定的级联操作也将应用于删除或更新的那些行。不能为具有 timesta

shaoqiuyue的专栏 1532

sql利用sp_columns_rowset 获得详细的表格信息

系统进程sp_columns_rowset是一个非文档进程,它返回关于一个表格和表格的栏的细节信息这个进程的输出和 INFORMATION_SCHEMA.COLUMNS系统视图的输出非常相似。进程有三个输出参数: @table_name—使用系统数据类型,系统名。 @table_schema—表格计划系主。 @column_name—表格栏的名字。

Teng_s2000的专栏 2017

SQL——SET

/* SET 语句是和 UPDATE 语句一起用的。 语法为 UPDATE 表名 SET 列名 = 新 WHERE 列名 = 某 */ #例子 UPDATE A SET name = 'You' WHERE man = '男'; 更新表A,帮列名称为 name 赋为 You ,要求列 man 为男。 现在执行两行语句 —— set 不支持对多个变量赋 —— set 对表达式返回多个会出错 —— set 在表达式的没有返回的时候,会赋null ...

beishanqiye的博客 2万+

SQL获取所有数据库名、表名、储存过程以及参数列表

1.获取所有用户名: SELECT name FROM Sysusers where status='2' and islogin='1' islogin='1'表示帐户 islogin='0'表示角色 status='2'表示用户帐户 status='0'表示糸统帐户 2.获取所有数据库名: SELECT Name FROM Master..SysDatabases ORDER B

779

mysql字段加密存储过程_数据库:加密存储过程

如何简单的创建一个加密存储过程:create proc Test(参数列表)with encriptionas主体go为了演示,现在我们创建一个具备各种参数类型的存储过程作为测试:create proc Test(@x int = 3,@s nvarchar(20),@y int output)with encryptionasselect @x, @sset @y = 5return 1go这个...

weixin_34651330的博客 573

SQL中,如何正确理解字段NULL

工作性质转向数据库居多, 于是花了些时间强化数据库知识,在看到case when 结合sum的用法时,看到一个例子,于是引出了本片文章。 下面的SQL语句,用来创users建表,并依次添加8条记录,注意有3条记录的SEX字段没有赋,默认为NULLSQL> create table users(id int,name varchar2(20),sex number); SQL> insert into users(id,name) values(1,'张一'); SQL> inse.

immigrator的专栏 637
上一篇: 如何让CDateTimeCtrl同时显示日期和时间呢?
下一篇: CListCtrl 添加CheckBox、整行选中、表格线属性代码 
skyremember
博客等级 码龄20年 203粉丝 484原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值