PowerDesigner 16 生产SQL语句 无法更新或删除属性。“某某”的属性 MS_Description不存在解决研究

PowerDesign 16.0 生成的Script语句,Sql2000内,带字段备注的语句执行时存在如下错误:

PowerDesigner 无法更新或删除属性。“某某”的属性 MS_Description不存在。

MSSQLSRV2000::Script\Objects\Column\ColumnComment

Modified Column ColComment

修改Column ColumnComment模板   路径是 Database -> Edit Current DBMS 窗体 General 选项卡 下 Script -> Objects -> Column -> ColumnComment

实际上是默认生成语句存在判断错误:默认的如下():

[if exists (select 1
from sysproperties
where id = object_id(‘[%QUALIFIER%]%TABLE%‘)
 and type = 4)
begin

以上判断是该表是否已存在备注,当有2个及以上备注要添加时(如C1,C2),添加到第二个备注C2,判断系统一定存在,而紧接着需要执行删除C2,因C2都没有添加过需要删除肯定会提示“无法更新或删除属性”了。sp_dropextendedproperty

因此需要修改判断,定位到精准的该字段是否有备注,有则删除,修改为如下(红色为添加部分,SQL2000测试通过):

[if exists (select 1

from sysproperties
where id = object_id(‘[%QUALIFIER%]%TABLE%‘)
and smallid in(select colid
from syscolumns
where id = object_id(‘[%QUALIFIER%]%TABLE%‘)
and name = %.q:COLUMN% and
number = 0) and name=‘MS_Description‘  and type = 4 )
begin

时间: 2024-10-14 10:04:49

PowerDesigner 16 生产SQL语句 无法更新或删除属性。“某某”的属性 MS_Description不存在解决研究的相关文章

Sql语句批量更新数据(多表关联)

最近在项目中遇到一个问题,原来设计的功能是不需要一个特定的字段值depid的,但是新的功能需要根据depid来展现,于是出现了这样一个问题,新增加的数据都有正确的depid,而原来的大量的数据就没有depid或者说depid不是想要的,面临要批量更新原来数据depid的问题. 更新涉及到三个表base_cooperativeGroup,base_groupuser,base_user. 列出表结构: 1.base_cooperativeGroup 2.base_groupuser 3.base_

使用SQL语句逐条更新每条记录

declare @i int declare @j int declare @phone varchar(20) set @j=1 select @i=count(*) from LatestLocation DECLARE L_cursor CURSOR FOR SELECT Phone FROM LatestLocation OPEN L_cursor while @j<[email protected] begin FETCH NEXT FROM L_cursor into @phone

ORACLE基本SQL语句-添加更新数据函数篇

一.添加数据 /*添加数据*/insert into STU values('stu0004','赵一',18,1,"kc0004");insert into STU(STU_ID,STU_NAME,STU_AGE,STU_SET ) values('stu0013','储十一',19,1); 说明:如果不指定将数据添加到那个字段,那么此时必须列出全部数据,如果列出字段,则一一对应,必须列出约束不为空的所有字段,否则报错. 二.更新数据 /*更新数据*/update STU SET S

SQL语句的添加、删除、修改多种方法

SQL语句的添加.删除.修改虽然有如下很多种方法,但在使用过程中还是不够用,不知是否有高手把更多灵活的使用方法贡献出来? 添加.删除.修改使用db.Execute(Sql)命令执行操作╔----------------╗☆ 数据记录筛选 ☆╚----------------╝注意:单双引号的用法可能有误(没有测式) Sql = "Select Distinct 字段名 From 数据表"Distinct函数,查询数据库存表内不重复的记录 Sql = "Select Count

MySQL数据库基础(六)——SQL插入、更新、删除操作

MySQL数据库基础(六)--SQL插入.更新.删除操作 一.插入数据 1.为表的所有字段插入数据 使用基本的INSERT语句插入数据要求指定表名称和插入到新记录中的值. INSERT INTO table_name (column_list) VALUES (value_list); insert into `TSubject` (subjectID,subjectName,BookName,Publisher) values ('0004','英语','大学英语走遍美国','清华出版社')

使用sql语句实现添加、删除约束

--主键约束(Primary Key constraint):要求主键列的数据唯一,并且不允许为空. --唯一约束(Unique Constraint):要求该列唯一,允许为空,但只能出现一个空值. --检查约束(Check Constraint):某列取值范围限制.格式限制等,如有关年龄的约束. --默认约束(Default Constraint):某列的默认值,如我们的男性同学较多,性别默认为男. --外键约束(Foreign Key):用于在两表之间建立关系需要制定引用主表的哪一列. 1,

转:ibatis常用16条SQL语句

1.输入参数为单个值 <delete id="com.fashionfree.stat.accesslog.deleteMemberAccessLogsBefore" parameterClass="long"> delete from MemberAccessLog where accessTimestamp = #value# </delete> <delete id="com.fashionfree.stat.acces

sql语句中3表删除和3表查询

好久没来咱们博客园了,主要近期在忙一些七七八八的杂事,包括打羽毛球比赛的准备和自己在学jqgrid的迷茫.先不扯这些没用的了,希望大家能记得小弟,小弟在此谢过大家了. 回归正题:(以下的sql是本人在用yii框架开发项目时写的,希望对大家有些帮助) 首先是多表查询,为了简化我先贴出自己的代码,在贴出解释代码. select a.*, b.*, c.* from rlzy_payfeeinf a inner join rlzy_personinfo b on a.bid=b.bid join rl

SQL语句查询 更新 删除

一.查询语句 获取数据前十条 oracle: select * from tab where rownum <= 10; sql server: select top 10 * from tab mysql: select * from tab limit 10 select * from 表名 limit m,n:从m开始,取n条 二.更新语句 UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 update <表名> set <列名> = <