弱弱的问一个问题:
思路是:
1、存储过程 接受4个参数。
2、先查询一下 记录。。当符合条件的记录为1时。
3、更新 记录。否则就不更新。
请指教。谢谢。
CREATE proc test @param1 smallint ,@param2 varchar(14),@param3 smallint,@param4 Varchar(50)
as
if
select * from comProd where flag=isnull(@param1,'')and billNO=isnull(@param2,'')and RowNO=isnull(@param3,'') =1
then update comProd set UDEF1= @param3 where where flag=isnull(@param1,'')and billNO=isnull(@param2,'')and RowNO=isnull(@param4,'')GO
思路是:
1、存储过程 接受4个参数。
2、先查询一下 记录。。当符合条件的记录为1时。
3、更新 记录。否则就不更新。
请指教。谢谢。
CREATE proc test @param1 smallint ,@param2 varchar(14),@param3 smallint,@param4 Varchar(50)
as
if
select * from comProd where flag=isnull(@param1,'')and billNO=isnull(@param2,'')and RowNO=isnull(@param3,'') =1
then update comProd set UDEF1= @param3 where where flag=isnull(@param1,'')and billNO=isnull(@param2,'')and RowNO=isnull(@param4,'')GO
解决方案 »
- 将sql数据库数据资料繁体转换为简体,怎么实现
- 存储过程中插入动态表的问题
- SQL SERVER 中几个不同版本的不同
- 如何做到:sql后台得到Insert插入命令后,能够延迟几秒钟,然后再执行该插入操作。
- 如何读取数据写入vb变量中
- 如何把某一列中数据的首尾空格去掉
- 急!!!高手请进!谢谢!谢谢!
- 默认将当天的数据显示在最上面!
- SQL Server如何实现Format(Date,"yyyy/mm/dd")和 Format(intVariant,"0000")功能
- 关于SQLSERVER的触发器的编写的问题???
- 急 请教 sql 数据量大,导致报错的问题
- 用SQL2000时,T-sql语句使用时出现了这个,怎么了?
@param1 smallint ,
@param2 varchar(14),
@param3 smallint,
@param4 Varchar(50)
as
begin
if
(select * from comProd
where flag=isnull(@param1,'')and billNO=isnull(@param2,'')and RowNO=isnull(@param3,'') =1)
then update comProd set UDEF1= @param3 where where flag=isnull(@param1,'')and billNO=isnull(@param2,'')and RowNO=isnull(@param4,'')
else
return
end
GO
create proc test @param1 smallint, @param2 varchar(14), @param3 smallint, @param4 Varchar(50)
as
begin
if ((select count(1) from comProd where flag=isnull(@param1,'')and billNO=isnull(@param2,'')and RowNO=isnull(@param3,''))=1)
update comProd
set UDEF1= @param3
where flag=isnull(@param1,'')and billNO=isnull(@param2,'')and RowNO=isnull(@param4,'')
end
但是我还有2个小问题:
1. 所有ISNULL判断都没有意义,因为你给入的参数不允许是null
2. UDEF1应该是varchar的吧,那你为什么给入的@param3是smallint?
UDEF1= @param4