点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
SAP SQL Anywhere 16.0.0.2043有一个问题(在我看来),标识符中有双重配额:
我的示例:
ISQL。 运行脚本:
CREATE TABLE DBA.TestTable(
ID整数NOT NULL
,数量整数NOT NULL约束TestTableAmount check(Amount> 0)
,名称varchar(40)NOT NULL
, 主键(ID ASC)
)
在Sybase Central中,我打开:
表-> TestTable->约束-> TestTableAmount->定义-> check(" Amount" > 0)。
为什么变量Amount->" Amount"中有双引号?
在以前的版本(10和更早的版本)中没有双引号。
分析 标识符中的引号限制了sql-server的工作。
我从来没有在标识符中使用引号。
它们在很大程度上妨碍了编写程序。
这确实妨碍了对程序文本的正常理解。
解决这个问题,或者至少考虑一下。
实际上,这是一个非常严重的全球性问题。
也许某些问题已经解决,但我没有下载更新的权限。
对不起,我的英语。
我的母语是俄语。
您好,
出于一致性目的,我们在版本16中引入了此行为,该行为在版本17中存在。到目前为止,我们还没有打算将其改回,但是我们的开发团队确实对此进行了调查。 不幸的是,他们找不到允许您禁用它的方法。
致谢,
Evgeniya
Приведитепожалуйстаболееконкретныйпримертого,和гдеэтовызываетнеудобство? Последующийпримериспользования金额безкавычеквозвращаетправильныйрезультат:
插入TestTable(ID,Amount,Name)值(1,1,'t2');
插入TestTable(ID,Amount,Name)值(2,2,'t2');
从testTable中选择*;
从testTable中选择*其中Amount> 1;
Lev,您能解释一下为什么所做的更改会使"编程SQL"变得更加困难吗?
我也不喜欢这种更改,而且我也从不使用需要使用引号有效的用户标识符。
但是,我使用的代码与我自己编写的代码完全相同,并且不依赖SQL Central的输出。 因此,对于过程/触发器来说,我的原始(因此未引用)代码存储在相应系统表的"源"列中,例如" SYSPROCEDURE"。 (以及源代码管理工具中的其他内容。)
Добрыйдень,Евгения。
Привожупример:
Такойтексткаквпоследнемабзацемной,какпрограммистом,воспринимается "ужасно",结果,(т.е.оченьнеудобныйдлявосприятиятекст,т.е.текст,которыйнадоанализироватьинадкоторымнадодумать),< BR>чтообязательноскажетсянамоейработоспособности,поверьтемоемуопыту。结果Преждечемдатьимяпеременнойябудудолгодуматьипридумаюподходящеена点击английскомязыке。 Затопотомстакойпеременной(т.е.поSQL-документацииидентификатор,标识符)
мнеудобноработать,т。 ясмотрюнанеепонесколькочасоввдень。结果,Ноесливтекстепрограммыбудетстолькокавычек(порядка20ввышеприведенномабзаце),结果,тоихсозерцаниеинаписание(написанием.б.инет,т.к. SQL Anywhere的16самихдобавляет),点击атакжепостоянныемыслиобэтой "особенности"(功能)SQL-серверабудетпостояннымстрессомвмоейработе。结果Когдаядолгосмотрюнатекстпрограммы,тоонкакбыотпечатываетсяв моейзрительнойпамяти。结果Япотоммогудуматьокаком-тосложноммоментевнаписаниипроцедуриливотэтихконстрейнтов,点击представляявпамятитекстпрограммы。 Икавычкивэтомтекстесовершеннонекместу。结果Ониявномешаютмоемунормальномуцелостномузрительномувосприятиютекстапрограммы。结果(Адлячеготогдаязыкверхнегоуровня?)点击Кавычкисильноотвлекаютмоевниманиеоттого,чтобыпогрузиться всмыслсамойпроцедуры。结果Яуженеговорюотом,чтоSQL-серверупостояннонужнообрабатыватьэти点击кавычки,включатьиисключатьихизидентификаторов。结果Янемогупонять,зачемнужнохранитьSQL-текстс
Япосмотрел,чтоиView SQL Anywhere 16发行说明(SYSTABLE.View_defn)。
Евгения,спасибозавниманиекизложеннойпроблеме。
最诚挚的问候。
Lev Zusman。
Лев,
Мыненашлиспособаотключитькавычки。
Вамнеобязательнодобавлятьихпринаписаниипроцедур,
Суважением,
Евгения
一周热门 更多>