sqlserver存储过程建表 插入数据报错 菜鸟问题,求解!!

农村的我 2014-12-22 11:39:45
现在在存储过程中:
.....
件表A
CREATE TABLE A(
PtID varchar(64) primary key,
GatherTimer datetime);

insert into A(PtID,GatherTimer) select PtID,GatherTimer frome B;

--功能仅仅是实现:创建A表的同时将B表中的PtID与GatherTimer字段值拷贝到A表中,现在这么写总提示:"insert into A(PtID,..."有问题,找不到PtID,菜鸟求大神前辈解答,在线等!!!
...全文
334 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
CREATE TABLE A( PtID varchar(64) primary key, GatherTimer datetime) GO insert into A(PtID,GatherTimer) select PtID,GatherTimer from B GO 想一次性执行多个SQL操作,用批处理试试。
农村的我 2014-12-22
  • 打赏
  • 举报
回复
引用 5 楼 Tiger_Zhao 的回复:
存储过程是写死的表名A,为什么不能先创建A表再创建存储过程?
嗯,是因为数据库表结构变了,加入了新表,想使用存储过程进行一次升级。。。
Tiger_Zhao 2014-12-22
  • 打赏
  • 举报
回复
存储过程是写死的表名A,为什么不能先创建A表再创建存储过程?
农村的我 2014-12-22
  • 打赏
  • 举报
回复
引用 3 楼 Tiger_Zhao 的回复:
存储过程是预先编译执行计划、调用时再执行。 所以不存在的表 A 不能编译,要再存储过程外预先创建好表A。
嗯,那要实现创建一个新表拷贝原表的一部分数据的功能是不是不能用存储过程实现了呢,是不是得换个方式?
Tiger_Zhao 2014-12-22
  • 打赏
  • 举报
回复
存储过程是预先编译执行计划、调用时再执行。
所以不存在的表 A 不能编译,要再存储过程外预先创建好表A。
农村的我 2014-12-22
  • 打赏
  • 举报
回复
引用 1 楼 Tiger_Zhao 的回复:
B表没有PtID字段。
嗯,B表是之前就有的。。。这里只是新建一个A表把B表的数据拷贝一份,还是这个问题吗?
Tiger_Zhao 2014-12-22
  • 打赏
  • 举报
回复
B表没有PtID字段。
江南小鱼 2014-12-22
  • 打赏
  • 举报
回复
在查询分析器执行
select  PtID,GatherTimer frome B;
如果报错,对应的修改字段
引用 楼主 business122 的回复:
现在在存储过程中: ..... 件表A CREATE TABLE A( PtID varchar(64) primary key, GatherTimer datetime); insert into A(PtID,GatherTimer) select PtID,GatherTimer frome B; --功能仅仅是实现:创建A表的同时将B表中的PtID与GatherTimer字段值拷贝到A表中,现在这么写总提示:"insert into A(PtID,..."有问题,找不到PtID,菜鸟求大神前辈解答,在线等!!!
Tiger_Zhao 2014-12-22
  • 打赏
  • 举报
回复
脚本可以是多个语句的。要存储过程干什么?
农村的我 2014-12-22
  • 打赏
  • 举报
回复
引用 7 楼 Tiger_Zhao 的回复:
只执行一次的升级用不着存储过程。
。。。这个升级是内嵌在一个软件的模块中,激活该功能,自动调用脚本执行升级,没有更好的解决方案吗。。
Tiger_Zhao 2014-12-22
  • 打赏
  • 举报
回复
只执行一次的升级用不着存储过程。

34,589

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧