关于一个动态地在一张表中增加字段的问题!

阿锋 2002-12-06 03:38:54
我建了一张表,用来保存学生的成绩,其中有学生各课程的字段,当遇到要增加一门课的成绩时,就需要在表中增加一个字段来存放这门课的成绩,我想问,如果动态地在表中增加表的字段,SQL语句如何实现?或者是哪位知道该如何解决这个问题?最能给出代码实现。
...全文
44 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
SilverSands 2002-12-12
  • 打赏
  • 举报
回复
程序能实现,但我想,很多人都会重新设计数据库结构
ben988211 2002-12-07
  • 打赏
  • 举报
回复
我同意楼上的看法
为什么要把表设计成固定的呢
donkeykiller 2002-12-06
  • 打赏
  • 举报
回复
既然是关系数据库,应该设计的时候,按照关系模式设置,假设你现在的表是
学生 科目1 科目2 科目3 科目4(固定)

可以转换成
学生 科目1
学生 科目2
.
.
.
把难以处理的列关系,转换成纪录关系,更容易进行数据操纵
xiaozg118 2002-12-06
  • 打赏
  • 举报
回复
你的alter语句是什么?
贴出来
阿锋 2002-12-06
  • 打赏
  • 举报
回复
我刚刚试了用alter添加字段,不过好像不行嗳,它会提示illage data type.
通不过编译!
阿锋 2002-12-06
  • 打赏
  • 举报
回复
非常感谢!
小弟是初学者,一些地方总会顾及不到
多谢各位了!
renmao 2002-12-06
  • 打赏
  • 举报
回复
注意:autocommit=true,试试看
renmao 2002-12-06
  • 打赏
  • 举报
回复
1,表这样设计不好
2,可以 autocommit=ture

EXECUTE IMMEDIATE :SQLca
NathanWan 2002-12-06
  • 打赏
  • 举报
回复
//定义动态sql语句
string sql
sql='ALTER TABLE tab1 ADD col1 VARCHAR2(20)'
//执行sql语句
EXECUTE IMMEDIATE :SQL;
xiaozg118 2002-12-06
  • 打赏
  • 举报
回复
增加列:
例如:
ALTER TABLE doc_exa ADD column_b VARCHAR(20) NULL
但是我觉得你的这种表结构设计得不好
我觉得:
t_students(学生信息表):记录学生的所有信息 例如学生编号 姓名 籍贯 性别等
t_course(课程表):记录课程情况 例如课程编号,课程名称等
t_grade(学生成绩表):记录学生的成绩,例如 学生编号 课程编号 成绩 时间等
ntchengl 2002-12-06
  • 打赏
  • 举报
回复
先学习数据库原理与设计,理解关系数据库的设计方法和范式规则,然后这个问题自然解决了
阿锋 2002-12-06
  • 打赏
  • 举报
回复
我用的是PB8.0

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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