标签: sql-scripts

在没有安装SQL Server的情况下在Powershell中执行.SQL文件?

我需要提供一个powershell脚本,它运行一系列步骤来安装自定义解决方案.其中一个步骤是创建SQL Server数据库并执行.sql文件以生成架构.

问题是我需要一种在任何机器上执行它的方法,无论是否在本地安装SQL服务器(它通常在另一台网络机器上).此外,我需要避免使用第三方模块,因为我无法强制客户端安装它们.

有办法做到这一点吗?

更新:运行脚本的服务器将安装.NET 4.5,因为将安装SharePoint 2013.

database sql-server powershell sql-scripts sql-server-2012

3
推荐指数
2
解决办法
8580
查看次数

IDENTITY_INSERT SQL脚本

情况

我有一个SQL脚本,我需要将一些基本数据推送到我的数据库.因此,我使用以下脚本(和其他).我想手动为我手动创建的行提供主键.

问题

如果我执行脚本,它会说我需要启用IDENTITY_INSERT.我添加了这一行SET IDENTITY_INSERT UserGroups ON;尽可能多的例子,但是当我添加它时它仍然会给出相同的错误.

SET IDENTITY_INSERT UserGroups ON;  
GO 

INSERT INTO UserGroups VALUES (0, 0);
Run Code Online (Sandbox Code Playgroud)

运行脚本时出错:

只有在使用列列表且IDENTITY_INSERT为ON时,才能指定表'UserGroups'中标识列的显式值.

题

我是否还需要在数据库中更改某些内容,或者在脚本中是否还有其他内容可以手动添加主键?

细节

我使用SQL Server 2016 Management Studio.

我使用DDL Script for SQL脚本

我使用Entity Framework.

我在这张表中有两列

  1. 主键:Id
  2. int:GroupHeadId

c# database sql-server sql-scripts management-studio-express

3
推荐指数
2
解决办法
259
查看次数

打开"ON"后,我应该明确地"设置IDENTITY_INSERT [表格]关闭"吗?

是否SET IDENTITY_INSERT [Table] ON仍然超出SQL脚本的范围?我想知道是否需要将其显式设置为"OFF",或者SQL Server是否知道它应该只对当前脚本使用该设置.

谢谢!

sql-server-2005 sql-scripts

2
推荐指数
1
解决办法
1288
查看次数

实体框架:ObjectContext获取生成的SQL更改脚本?

有没有办法获取对象上下文的所有SQL更改脚本?

注意:我不是在谈论ObjectQuery.ToTraceString();

entity-framework sql-scripts

2
推荐指数
1
解决办法
3439
查看次数

SQL Server脚本:ALTER PROCEDURE-在一个脚本中执行多个ALTER PROCEDURE,而不必一个接一个地选择每个ALTER

我知道这不是什么大问题,但是无论如何我都会感到挠痒。

  1. 我有一个SQL Server 2005脚本来创建新的数据表,约束,更改某些表以添加列,更改程序以将表更改考虑在内,等等。
  2. 一切运行正常,直到脚本遇到我的ALTER PROCEDURE语句。
  3. 错误消息如下:

“消息156,级别15,状态1,过程cpromo_Get_ConsultDetails_PromotionBan,第59行关键字'PROCEDURE'附近的语法不正确。

这是我的脚本示例:

ALTER PROCEDURE [dbo].[cpromo_Get_ConsultDetails_PromotionBan] 
(
 @idPromoBan int, 
 @uid int 
)
AS
begin
 set nocount on;

 /* 1-  detail de la promo */
 SELECT p.[nopromo], p.[StartDate], p.[EndDate], p.[DateText]
 FROM [cpromo_PromotionBanniere] as pb
 INNER JOIN [cpromo_Promotions] as p ON p.[idPromo] = pb.[idPromo]
 WHERE (pb.[idPromoBan] = @idPromoBan)

 /* 2 - cartes de la promo */
 SELECT pis.[idCardText], ct.[nom], ct.[descr], ct.[prix], ct.[prixCoupon], ct.[qtyItem], i.[Impact]
 FROM [cpromo_PromotionsItems] as pis
 INNER JOIN [cpromo_Impacts] as i ON i.[idImpact] = …
Run Code Online (Sandbox Code Playgroud)

sql-server-2005 alter-table sql-scripts alter

2
推荐指数
2
解决办法
2万
查看次数

如何将数据库上下文切换到新创建的数据库?

我写了一个脚本来创建一个数据库:

1:使用主机;
2: IF (db_id('myDB') 为空)
3: CREATE DATABASE myDB;
4:使用myDB;

但它不起作用...我收到一个错误:无法在 sysdatabases 中找到数据库“myDB”的条目。未找到具有该名称的条目。确保正确输入名称。(讯息911 )

我的错误在哪里?

谢谢。

答案: go go go
有用的链接: 如果不使用 GO,以编程方式,您将需要进行 2 个单独的数据库调用。

sql database sql-server ssms sql-scripts

2
推荐指数
1
解决办法
2万
查看次数

如何在postgreSQL linux中执行多个sql文件?

我在linux debian的文件夹(/ home/myHSH/scripts)中有很多.sql文件.我想知道执行或运行文件夹中的所有sql文件到postgreSQL v9.1数据库的命令.

PostgreSQL信息:

Database name=coolDB
User name=coolUser
Run Code Online (Sandbox Code Playgroud)

很高兴:如果你知道如何通过GUI工具执行多个sql文件,就像pgAdmin3一样.

command-line sql-scripts postgresql-9.1

2
推荐指数
1
解决办法
5198
查看次数

如何在oracle sql脚本中创建一个过程并在脚本中使用它?

我想为我的oracle DB创建一个脚本,它会丢弃表.如果表不存在,脚本将不会退出失败,只需打印文本:" 不存在 ".

该脚本如下:

BEGIN
    EXECUTE IMMEDIATE 'DROP TABLE mytable';
    DBMS_Output.Put_Line(' table dropped');
EXCEPTION WHEN OTHERS THEN
    IF SQLCODE = -942 THEN
        DBMS_Output.Put_Line(' table not exists');
    ELSE
        DBMS_Output.Put_Line(' Unknown exception while dropping table');
        RAISE;
    END IF;
END;
Run Code Online (Sandbox Code Playgroud)

我想在一个脚本中删除很多表,我不想多次写这些行.

有没有办法,把它写入获取参数(表名)的过程或函数,并在该脚本中调用此过程?

也许是这样的:

drop_table_procedure('mytableA');
drop_table_procedure('mytableB');
Run Code Online (Sandbox Code Playgroud)

或者可能是一个过程,它获取一个未定义的大小列表(如在java:String ...表名中):

drop_tables_procedure('mytableA','mytableB');
Run Code Online (Sandbox Code Playgroud)

请举个例子.谢谢!

sql oracle procedure function sql-scripts

2
推荐指数
1
解决办法
6238
查看次数

MySql 有条件停止脚本执行

我需要编写 SQL 脚本,如果在数据库中找不到某些值,该脚本就会停止。像这样的东西(伪代码):

BEGIN;
...
set @a = (select ... );
if @a IS NULL THEN STOP_WITH_ERROR_AND_ROLLBACK();
...
COMMIT;
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我吗?

更新:由于某些原因,我无法使用存储过程或函数。

更新2:注意:我不需要显式回滚。脚本执行的中断就足够了。它自动回滚未提交事务的更改。

mysql sql select sql-scripts

2
推荐指数
1
解决办法
4140
查看次数

如何从现有模式在 Oracle 中编写表结构?

到目前为止,我已经发现要描述一个表格,我可以使用以下内容:

select dbms_metadata.get_ddl('TABLE','<my table name>','<table owner>') from dual;
Run Code Online (Sandbox Code Playgroud)

我还发现我可以使用以下语句从当前用户那里获取表列表:

select table_name from user_tables;
Run Code Online (Sandbox Code Playgroud)

但是,我需要找到一种将这两者结合起来的方法,以便我得到一个(最好是 SQL 文件)输出,它基本上描述了当前模式中的所有表。我该怎么办?

sql oracle plsql sql-scripts data-dictionary

2
推荐指数
1
解决办法
42
查看次数