"如果不存在"SQL CE上失败

Mar*_*ans 13 t-sql sql-server sql-server-ce

我有一个意想不到的问题.我正在制作一个脚本来更新SQL CE数据库上的模式.这不会运行:

if not exists
(
    Select column_name from information_schema.columns
    where column_name = 'TempTestField' 
        and table_name = 'Inventory_Master_File' 
)
    Alter table Inventory_Master_File
      add TempTestField nvarchar(10) null   
Run Code Online (Sandbox Code Playgroud)

我认为这是因为我使用的是SQL CE不支持的东西.有人知道怎么做吗?我已经尝试重新安排脚本,但无法正常工作.我试过"改变表......不存在......".

请注意,"选择"部分运行正常,还有"更改"部分.问题是"如果不存在".我知道有一些关于使用SQL CE的问题的其他帖子,但我找不到这个特定问题的答案.

干杯
马克

更新:

我花了一个多小时寻找解决方案.我发现许多帖子都在寻求类似问题的帮助,但我仍然不知道如何修复它.我真的不想在C#代码中这样做.我需要在SQL脚本中执行此操作.我不敢相信这个基本的东西造成了这么大的困难:(

Dou*_*rch 10

似乎SQL CE根本不支持任何程序扩展; 只有20世纪70年代的DDL和DML.

您将不得不在应用程序(C#或其他)中放置过程逻辑,或者转到具有过程扩展的可嵌入数据库,如MySQL.