【问题标题】:What SYSTEM stored procedures are available in SQL Server Compact Edition?SQL Server Compact Edition 中有哪些 SYSTEM 存储过程?
【发布时间】:2009-02-27 16:38:41
【问题描述】:

我正在尝试编写对在 windows mobile 6 上运行的 SQL Server Compact Edition 数据库的更改脚本,并且可以真正使用:

EXECUTE sp_rename 'MyTable.SomeColumn', 'BrandNewName', 'COLUMN'

还有哪些其他系统存储过程可用?

与非压缩版有什么区别?

编辑: 在 ce 中有 ARE 系统存储过程,sp_rename 就是一个示例,尽管它似乎只适用于表而不是列。

【问题讨论】:

    标签: sql sql-server stored-procedures sql-server-ce


    【解决方案1】:

    我不相信 SqlCe 中有任何可用的存储过程。我的解决方案是创建一个包含 SqlCeEngine 的类并公开我自己的方法,如 RenameColumn,并在内部完成工作。

    编辑1:现在,这很有趣(sp_rename 的存在)。考虑到那里的文档指出 SQL CE 中没有存储过程,我认为对任何人投反对票是不公平的。

    编辑 2:我遇到了this link from MSDN,它表明至少还有一个其他过程:sp_show_statistics。我假设您使用的是 SQL CE 3.5 SP1。

    【讨论】:

    • 再一次,你不能定义自己的存储过程,这是 ctacke 的文章所说的,但是数据库在内部运行系统存储过程。这就是我的问题所在。
    • 这看起来与我能得到的最接近的清单很接近 :) 谢谢
    • 实际上并没有 procs - 你这样称呼它们,但它们是映射的内部函数,只是以这种方式公开。没有内部秘密存储过程引擎。
    【解决方案2】:

    【讨论】:

    • 用户存储过程否,系统存储过程是。
    • 拒绝投票。但我严重怀疑 SQLCE 团队实际上是否会实现一个完整的 SP 引擎,然后只公开 2 个过程并且没有添加用户过程的能力。我敢打赌,列出的两个根本不是 SP,而是硬编码到查询引擎中。
    • 我不得不对部署到 40 多个设备的紧凑型数据库进行脚本更改。我看到 sp_rename 在那里,所以我的问题是找到其他可能有助于脚本的存储过程。因此,我认为您发布有关用户存储过程的文章的“没有”声明是您被否决的原因。
    • 我已经知道用户存储过程不可用,但这不是问题。文章很受赞赏,所以我 +1。
    • 这些“系统”存储过程不存在。它们实际上是 C 函数,在某些情况下只是映射到 sql 函数。没有内部 sproc 引擎。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多