sqlserver执行脚本
其实不用考虑那么复杂吗,我现在的存储过程里面,每次插入数据时都有个判断,如果已存在就不插,不就可以重复执行了吗
if not exists(select * from NS_DATA_DICTIONARY where data_value = '国股')
begin
insert into NS_DATA_DICTIONARY (DATA_TYPE, DATA_GROUP, DATA_VALUE)
values (4, 1, '国股')
end
可以重复执行,如果表中没有,就插,有了就不插,简单明了,更不要设什么参数了
B. sqlserver 执行一段脚本报错,逐句执行就能成功,怎么回事
update 前那一句 增加字段的 请comiit;
C. SQL server如何定时执行一些脚本
--"类型"中选择"Transact-SQL 脚本(TSQL)" --"数据库"选择执行命令的数据库 --"命令"中输入要执行此链的语句: Update City Set IsAccess=0--确定--"调度"项--新建调度--"名称"中输入调度名称 --"调度类型"中选择你的作业执行安排--定为每天调度一次,时间为18:40即可 --如果选择"反复出现" --点"更改"来设置你的时间安排 然后将SQL Agent服务启森瞎孙动,并设置为自动启动,否则你的作业不会被执行设置方法:我的电神芦脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
D. sql2005如何导入脚本
1. SQL server2008 导入超大SQL脚本文件(超过10);
2. 采用SQLManagement 查询工具不能打开,所以使用osql在doc命令下执行;
3. osql 用法:
4. 执行SQL脚本文件。-S:sqlserver服务器名称 -U:数据库登陆账号 -P:数据库登陆密码 -i:sql 脚本文件的路径
5. 如果想将运行结果定向到一个文件,添加 –o output_file 参数
output_file 是输出文件及其完整路径。
如想消除输出结果中的编号和提示符号,请向上述命令中添加 -n 选项。例如:
osql -E -i input_file -o output_file -n
6. 执行结果可友态以查看输好禅源出文档。
7. osql 执行SQL语句,输入osql-S:sql server服务器名称 -U:数据库登陆账号
然后袭虚输入密码,就可以输入SQL语句了(注意大小写)。如下图
8. 输入exit退出
E. sqlserver 2012怎么执行sql脚本
sqlserver 2012怎么执行sql脚本
SQL Server 2012导出的过程
1.打开Management Studio,登录到服务器,在数据库中选择要转移的数据库,
右键--“任务(T)”--“生成脚本(E)...”。
2.在“生成和发布脚本”窗口中,点击“下一步”,
3.“选择要编写脚本的数据库对象”,可以不做设置,点击“下一步”,
4.点击[保存到文件]右边的“高级”按钮,在对话框中,设置“为服务器版本编写脚本”为“SQL Server 2008 R2”,
设置“要编写脚本的数据的类型”为“架构和数据”。选择保存脚本的位置。
5.下一步,再下一步。导出完成。
SQL Server 2008 R2导入的过程
1.打开Management Studio,登录到服务器,
2.选择菜单“文件”——“打开”——“文件”,选择.sql脚本文件,点击工具栏中的“执行”按钮。
3.在左侧的“对象资源管理器”中右键“数据库”——“刷新”。完毕。
F. sqlserver的脚本文件是在配置管理器中执行的
是的。sqlserver的脚本文件通过处理器处理压缩文档后,然后再通过传输配置传输在配置管理器中执行的。这种方法虽然麻烦但是能有效减小文件的占用空间的大小。
G. sql server自动生成批量执行SQL脚本的批处理
场景:
DBA那边给我导出了所有的存储 函数等等对象的创建脚本 有上千个文件
现在需要将这些对象创建脚本导入到另外一个库 如何解决呢?
手动一个个执行显然不太现实
于是手动写了一个批处理 将所有的文件形成一个 SQL的脚本 最后以@生成的 SQL脚本方式导仔派贺入到目标库中
OS环境:WINDOWS xp
脚本内容如下:
@echo off if exist list sql del list sql /q :input cls set input=: set /p input= 请输入要进念派行判断的路径 set "input=%input:"=%" :: 上面这句为判断%input%中是否存在引号 有则剔除 if "%input%"==":" goto input if not exist "%input%" goto input for /f "delims=" %%i in ( dir /b /a d /s "%input%" ) do echo @@%%~fnxi>>list sql if not exist list sql goto no_file start list sql exit :no_file cls echo %cur_dir% 出现错误 未成功生成list sql脚本! pause
使用:
另存为 BAT类型文件后 双击执行
输入你脚本的路径:
如我的E盘CRY文件夹下 有如下类型的文件:
TEST PRC
TEST FNC(有子文件夹 )
TEST VW
执行该批处理后 最后生成的list sql脚本文件内容如下(执行完批处理后会用默认的编辑器自动打开该文件):
@@E:cryTEST PRC
@@E:cry TEST FNC
@@E:cryTEST VW
打开SQLPLUS 以指定用户登录数据库 然后执行: (我的脚本文件羡磨生成在d盘)
@D:list sql
这样所有的对象就会自动在指定用户下生成
lishixin/Article/program/SQLServer/201311/22286
H. sql server 2000如何执行sql脚本
实现的方法和详细的操作步骤如下:
1、第一步,打开SQL
Server软件,然后选择图中“数据库”选项前面的“ +”号以展开数据库,如下图所示,然后进入下一步。
I. “sqlserver”怎样直接执行sql文件
一、客户的数据库数据被篡改,利用Log Explorer工具根据日志生成的回滚脚本有200多M,不可能一下子扔到查询分析器里去执行,于是想是否SQL Server是否可以像Oracle那样直接执行.sql文件。讲过查资料,测试,发现可以在cmd窗口中执行如下命令执行Sql文件:
二、osql -S 127.0.0.1 -U sa -P sa -i d: est.sql;
三、简单说明:osql为SQL Server的命令,要在cmd中执行该命令,一般安装完SQL Server后该命令对应的路径会自动添加到系统环境变量中。 -S 表示要连接的数据库服务器 -U表示登录的用户ID,-P表示登录密码 -i表示要执行的脚本文件路径。
四、Apache ant提供了直接执行sql脚本文件的功能:
五、Java代码:
publicclassAntExecSql
{publicstaticvoidexecSqlFile(Stringurl,StringuserID,Stringpwd,StringsqlFile)
{
SQLExec2sqlExec=newSQLExec2();
//设置数据库参数
sqlExec.setDriver("com.microsoft.sqlserver.jdbc.SQLServerDriver");
sqlExec.setUrl(url);
sqlExec.setUserid(userID);
sqlExec.setPassword(pwd);
Filefile=newFile(sqlFile);
sqlExec.setSrc(file);
sqlExec.setPrint(true);//设置是否输出
//输出到文件sql.out中;不设置该属性,默认输出到控制台
//sqlExec.setOutput(newFile("d:/script/sql.out"));
sqlExec.setProject(newProject());//要指定这个属性,不然会出错
sqlExec.execute();
}
publicstaticvoidmain(String[]args){
Stringfile1="C:/1.sql";
Stringurl="jdbc:sqlserver://localhost:1433;database=master";
Stringusername="sa";
Stringpwd="sa@jiaj";
try{
AntExecSql.execSqlFile(url,username,pwd,file1);
}catch(Exceptionex){
ex.printStackTrace();
}
}
}
J. 如何用SQLserver批量打开或运行脚本
使用SQLCMD在SQLServer上执行多个脚本
第一步:先创建一个在C盘下的文件夹:C:\Scripts。然后把脚本存放到这个文件夹中:
脚本1:CREATE_DB.sql
/* SCRIPT: CREATE_DB.sql */
/* 创建TestDB数据库 */
-- This is the main caller for each script
SET NOCOUNT ON
GO
PRINT '开始创建TestDB数据库'
IF EXISTS (SELECT 1 FROM SYS.DATABASES WHERE NAME = 'TestDB')
DROP DATABASE TestDB
GO
CREATE DATABASE TestDB
GO
:On Error exit
:r c:\Scripts\CREATE_TABLES.sql
:r c:\Scripts\TABLE_INSERTS.sql
:r c:\Scripts\CREATE_INDEXES.sql
:r c:\Scripts\CREATE_PROCEDURES.sql
PRINT '创建完毕'
GO