当我生成存储过程脚本时,SSMS 还会生成一个包含对象名称和脚本日期时间戳的注释:
时间戳只是生成脚本时的当前时间,我试图理解它的意义。
我可以看到 SSMS 包括一个自动功能,用于捕获存储过程的创建、上次更新或运行时间。其中任何一个都可能对程序员的日常活动有用。但是,包括查看它的时间有什么意义呢?
我试过在互联网上寻找答案,但没有任何有用的东西出现。
晚上好,
是否有面向对象的 PL/SQL 替代品,允许编写服务器端过程[然后称为客户端或服务器端]?
(适用于 MySQL、PostgreSQL、Oracle 等)
我正在使用 SQL Server Management Studio 为现有数据库中的所有对象生成脚本:

但不会生成与 SQL Broker 相关的对象(消息、队列和服务)。
我已经摆弄了高级选项,但仍然无法摆脱它们。有没有办法做到这一点?
我有许多表,都包含属性aid,bid,cid和xid整数类型,其他属性可能不同。对于每个(给定)表T,我想根据aid,bid,cid升序和更新列对行进行排序xid,增量值从 0 开始。实现这一目标的最佳方法是什么?
我目前的解决方案包括:
TxidT_tempTT_temp到T由于这些表具有不同的模式,我编写了一半代码PL/pgSQL,一半代码使用 bash 脚本编写。
问题 1:任何评论如何让它在纯 PL/pgSQL 中编程?
问题 2:任何评论如何更优雅地实现?
Linux RHEL 6.10 上的 Postgres 9.6.9
如果我将 DO 命令用双引号括起来,角色用单引号括起来,那么 bash 会解释$$,这显然会使命令失败。所以我切换了双引号和单引号,但现在它将NOT IN字符串文字视为列名,这也会引发错误。
那么,正如标题中所提到的,DO $$从命令行获取命令的魔力是什么?
$ export PGHOST=10.x.y.z
$ export PGUSER=postgres
$ psql -c 'do $$
> declare rolename text;
> begin
> for rolename in select rolname
> from pg_roles
> where rolname not in ("postgres",
> "pg_signal_backend",
> "TAP")
> loop
> execute "DROP ROLE " || rolename;
> end loop;
> end $$
> ;'
ERROR: column "postgres" does not exist
LINE …Run Code Online (Sandbox Code Playgroud) 我想向我的 Postgres 数据库添加一个类似触发器的函数。问题是该函数应该每天自动执行一次并更改指定表中的值。
是否可以通过 SQL 语法来执行此操作,还是最好编写一个带有我需要的一些查询的 bash 脚本?
我使用的是 SQL Server Express 版本,因此没有备份计划功能,我想使用 bat 脚本进行数据库备份,并创建一个每天运行的调度程序。我已经创建了 .bat 文件,但需要在备份文件末尾放置时间戳,例如 test_13_April_2017。
cd "C:\Program Files\Microsoft SQL Server\110\Tools\Binn"
SqlCmd -S SERVER02 -Q "Backup Database testdb To Disk='C:\backup\testdb.bak'"
Run Code Online (Sandbox Code Playgroud)
有没有办法在每个数据库备份结束时给出时间戳。
我正在寻找一种可以生成创建 SQL 的方法,例如SQL选择约束时的 PgAdmin 选项卡。(pg admin 是怎么做的?)
我想实现一个通用方法,可以在处理后删除并重新创建外键约束。
我试图搜索这个并且能够找到很少但找不到确切的方法来编写数据库的数据库级别权限。
我正在迁移这个数据库,我可以使用创建其登录名sp_help_revlogin,但不会复制用户权限。
我可以使用以下查询提取权限:
SELECT
ISNULL(OBJECT_NAME(major_id),'') [Objects], USER_NAME(grantee_principal_id) as [UserName], permission_name as [PermissionName]
FROM
sys.database_permissions p
WHERE grantee_principal_id>0
ORDER BY
OBJECT_NAME(major_id), USER_NAME(grantee_principal_id), permission_name
Run Code Online (Sandbox Code Playgroud)
但是我需要像 rev login 这样的东西来生成一个脚本,你可以执行来获取权限映射。
我尝试过 DBAtools,但我无法使用,因为它失败并出现错误
无法找到类型 [DbaInstanceParameter]
我有 50 多个登录名和大约 20 个要复制的角色。
scripting ×9
postgresql ×4
sql-server ×2
ssms ×2
constraint ×1
permissions ×1
plsql ×1
timestamp ×1
update ×1