两个表
比如
表A和表B,
把A表中的数据使用where选择部分添加到的表B中,而且表B中有两个字段还需要添加固定值,不是从表A中获取的,
另外
两个表中的字段类型有 varchar的,datetime的,,,这个好像不影响吧?---从来没有写过存储过程 谢谢
!
比如
表A和表B,
把A表中的数据使用where选择部分添加到的表B中,而且表B中有两个字段还需要添加固定值,不是从表A中获取的,
另外
两个表中的字段类型有 varchar的,datetime的,,,这个好像不影响吧?---从来没有写过存储过程 谢谢
!
解决方案 »
- 菜鸟求救:如何从Centera下载文件
- 请求解决 count 与 distinct 的问题
- 关于 inner join on
- 读取数据库中从上数下来第5到第10条记录的SQL语句该如何写?
- sql中的case问题!
- 为什么 vc ado 调用存储过程 adBigInt 数据类型出错? 每当 〉2^32时。
- 错误17883,sqlserver不响应。急,求助
- 在查询分析器中使用print监视变量问题
- 数据库还原后dbo被孤立,如何解决
- SQL实现辣手的汇总,请高手帮忙!
- 看看这个分页存储过程怎么写条件?
- <!-- -- -- 为什么字串字段用varchar者多,而鲜见有用nvarchar的? -- -- -->
SELECT COL1,'固定值A','固定值B'
FROM A
WHERE ...
insert tb(col1,col2,col3,...字段列表)
select col1,固定值1,固定值2,col ...from ta where .........
SELECT COL1,'固定值A','固定值B'
FROM A
WHERE ...
--2楼的?
CREATE PROC PRA
AS
BEGIN
INSERT INTO B(COL1,COL2,COL3) SELECT COL1,COL2,COL3 FROM A WHERE .. UPDATE B SET COL4=固定值,COL5=固定值
END
insert into b(字段1,字段2,字段3) select a中的字段,值1,值2 from a where ...
insert into tabB(col1,col2,...,coln)
select
col1,
col2,
'xxx', --固定值1,具体值根据楼主的要求处理,注意数据类型与表中一致
'yyy', --固定值2,具体值根据楼主的要求处理,注意数据类型与表中一致
...
coln
from
tabA
where
... --筛选条件
CREATE PROCEDURE sp_ta as
insert into tb
select a.1a,a.2a,'固定数据','固定数据' from ta as a where 条件=''
select .......where .......
@para_o varchar(100),
@para_p varchar(100)
AS
insert into B(j,k,l,m,n,o,p) select a,b,c,d,e,@para_o,@para_p from A where g=? and h=? --把问号换成条件
GO
@g varchar(20),
@h varchar(20)
AS
INSERT INTO B(j,k,l,m,n,o,p)
SELECT a,b,c,d,e,值1,值2
FROM A
WHERE g=@g AND h=@h
GO
if exists(select name from sysobjects where name='up_A2B' and type='P')
drop procedure up_A2B
go
--建立存储过程
create procedure up_A2B
AS
begin
insert into B(j,k,l,m,n,o,p)
select a,b,c,d,e,固定值1,固定值2
from A
where g=? AND h=? --?为选择条件
go
@jdyf nvarchar(255),
@nowmonth nvarchar(255)
AS
INSERT INTO jdjzjh(zylb,clsbzl,clsbmc,xhgg,clfw,zqd,sccj,sbbh,fj,wgzt,tsyq,sybmdm,sybm,sydd,syr,jdfs,jdbm,jdzq,jdyf,abc,sl,sjsl,jhxx)
SELECT zylb,clsbzl,clsbmc,xhgg,clfw,zqd,sccj,sbbh,fj,wgzt,tsyq,sybmdm,sybm,sydd,syr,jdfs,jdbm,jdzq,@jdyf,abc,sl,sjsl,"WJ"
FROM clsbtz
where (jdzq="6" and jdyf like "%@nowmonth%")
GO
我写了这个存储过程,但是使用这个where (jdzq="6" and jdyf like "%@nowmonth%") 却筛选不出来出来,请问jdyf like "%@nowmonth%"是这样写吗
@jdyf nvarchar(255),
@nowmonth nvarchar(255)
AS
INSERT INTO jdjzjh(zylb,clsbzl,clsbmc,xhgg,clfw,zqd,sccj,sbbh,fj,wgzt,tsyq,sybmdm,sybm,sydd,syr,jdfs,jdbm,jdzq,jdyf,abc,sl,sjsl,jhxx)
SELECT
zylb,clsbzl,clsbmc,xhgg,clfw,zqd,sccj,sbbh,fj,wgzt,tsyq,sybmdm,sybm,sydd,syr,jdfs,jdbm,jdzq,@jdyf,abc,sl,sjsl,'WJ'
FROM
clsbtz
where
jdzq='6'
and
jdyf like '%'+@nowmonth+'%'
GO
create procedure P_Insert
as
begin
--1,1是对应col4,col5的固定值
insert into B(col1,col2,col3,col4,col5)
select col1,col2,1,1 from A where id=2
end
insert into 表(字段,字段1...) select 字段,字段1 from 表1 where ...