SQL语句错误
我用以下SQL语句删除表water中列name:
ls_sql="alter table water drop name"
execute immediate :ls_sql using sqlca;
结果错误为:
SQLSTATE = 37000
[Microsoft][ODBC SQL Server Driver][SQL Server]'name' is not a constraint.
改怎样改呢?
(以上是在连SQL Server时出的错,连SQL Anywhere时正常。)
问题点数:20、回复次数:23Top
1 楼common_pbl(订阅V软,订阅V来)回复于 2001-07-10 16:58:42 得分 0
name 是保留字 ?!Top
2 楼pbdesigner(MIS/ERP开发)回复于 2001-07-10 17:01:39 得分 15
改成:alter table water drop column nameTop
3 楼pbsql(风云)回复于 2001-07-10 17:01:51 得分 0
common_pbl(东方红),不是你说的那个原因,因为删除其它字段也会出相同的错误。
改怎样改?Top
4 楼pbsql(风云)回复于 2001-07-10 17:05:11 得分 0
pbdesigner(MIS/ERP开发),你说的也不对,报错:
Line 1: Incorrect syntax near 'name'.Top
5 楼pbdesigner(MIS/ERP开发)回复于 2001-07-10 17:10:23 得分 0
没有用‘;’结束啦。
ls_sql="alter table water drop column name;"
execute immediate :ls_sql using sqlca;
Top
6 楼pbsql(风云)回复于 2001-07-10 17:14:20 得分 0
pbdesigner(MIS/ERP开发),加了;也不行,还是报:'name' is not a constraint.
Top
7 楼common_pbl(订阅V软,订阅V来)回复于 2001-07-10 17:21:46 得分 5
我在sybase上运行 alter table water drop name ,OK!
Try:
ls_sql = "alter table water drop name"
sqlca.autocommit = true
execute immediate :ls_sql using sqlca;
Top
8 楼pbsql(风云)回复于 2001-07-10 17:25:53 得分 0
sqlca.autocommit是true,我在SQL Anywhere上完全一样都通过了,在SQL Server上就不行!
Top
9 楼pbdesigner(MIS/ERP开发)回复于 2001-07-10 17:26:09 得分 0
我在前后台都试过,绝对成功。是不是有哪个表参考到"name"栏位,或者你之前没有连接数据库成功。Top
10 楼pbsql(风云)回复于 2001-07-10 17:28:30 得分 0
我在enterprise manager 里面是可以删除该列的,连接当然也是成功的。Top
11 楼pbdesigner(MIS/ERP开发)回复于 2001-07-10 17:44:11 得分 0
你是用ODBC连接的还是用MSS MS SQL SERVER 7.0连接的,检查一下你的SQLCA配置.Top
12 楼pbsql(风云)回复于 2001-07-10 17:52:22 得分 0
两种连接都试过了,一样!连接肯定没问题,因为其它SQL语句如增加表、增加列执行都正常,就删除列不行。Top
13 楼pbsql(风云)回复于 2001-07-10 18:56:24 得分 0
要滚过一页了,提前一下!Top
14 楼common_pbl(订阅V软,订阅V来)回复于 2001-07-10 19:01:59 得分 0
找Gates去吧Top
15 楼小竹()回复于 2001-07-10 19:02:40 得分 0
你的列中有值存在吧!~~~~~Top
16 楼pbsql(风云)回复于 2001-07-10 19:03:19 得分 0
有记录存在,这有关系吗?Top
17 楼小竹()回复于 2001-07-10 19:07:21 得分 0
列中有值存在吧!?Top
18 楼小竹()回复于 2001-07-10 19:08:30 得分 0
你试试把记录清空Top
19 楼lqh178()回复于 2001-07-10 19:10:45 得分 0
没有大小写问题吧?Top
20 楼pbdesigner(MIS/ERP开发)回复于 2001-07-10 19:22:22 得分 0
你将栏位名称该成别的试一下。这与有无数据无关。可能是别的表或本表的其它字段参考到它。Top
21 楼wangsw(呀呀)回复于 2001-07-10 22:22:03 得分 0
上面的pbdesigner(MIS/ERP开发)的名子是对的!!
是不是NAME与保留定冲突所致??请改一下名试试!!
Top
22 楼pbsql(风云)回复于 2001-07-11 10:11:41 得分 0
奇怪,昨天不行今天又可以了:
alter table water drop column nameTop
23 楼assdeng(山野村夫)回复于 2001-07-11 10:16:18 得分 0
怪味PB7.
呵呵...........
Top




