编辑sql脚本
步骤:(1) 创建一个批处理文件:打开记事本,创建数据库连接信息(例如,server name,username,password,databasename等)以及要执行的*.sql脚本名称。具体语法参考下文"osql 实用工具" 。 将文件的扩展名改为.bat 并保存。
示例1:指定待执行sql 文件的相对路径
osql -S admin\admin -U sa -P sa -d TestDB -i c:\test.sql
pause
示例2: 待执行文件与bat文件在同一个目录,指定相对路径
set localdir=%~dp0
osql -S (local) -U sa -P sa -d Test -i %localdir%\test1.sql
osql -S (local) -U sa -P sa -d Test -i %localdir%\test2.sql
osql -S (local) -U sa -P sa -d Test -i %localdir%\test3.sql
pause
(2) 创建需要执行的sql 脚本, test.sql,test2.sql 和test3.sql, 并放在步骤(1)示例1中指定的位置。本例为c:\ 根目录。如果用示例2,将待执行的sql和bat文件放在同一个目录下。
(3) 双击*.bat 文件并查看运行结果。
‘贰’ 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
‘叁’ 请教:SQL 脚本编写: 创建两个整型变量,将他们的值分别设置为2和4,然后输出这两个变量的和 谢谢!
代码如下:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = 10;
int b = 20;
int c = 0;
printf("a = %d b = %d ", a, b);
c = a;
a = b;
b = c;
printf("a = %d b = %d ", a, b);
system("pause");
return 0;
}
(3)编辑sql脚本扩展阅读
SQL的整数型数据包括bigint型、int型、bit、smallint型和tinyint型。
bigint型数据的存储大小为8个字节,共64位。其中63位用于表示数值的大小,1位用于表示符号。bigint型数据可以存储的数值范围是-263~263-1,即 -9 223 372 036 854 775 808 ~9 223 372 036 854 775 807。
在应用中除非明确说明,否则那些接受int表达式作为其参数的函数、语句和系统存储过程都不会改变,从而不会支持将 bigint表达式隐式转换为这些参数。因此,当 bigint值在int数据类型支持的范围内时,SQL Server 才将 bigint隐式转换为int。
如果 bigint表达式包含了一个在int数据类型支持范围之外的值,就会在运行时出现转换错误。
‘肆’ filza的sql编辑器如何编辑
1、通过工具栏中的“SQL编辑器”按钮;
2、在“数据库导航”中,单击数据库下的“表”节点,右键单击某张表,选择“在SQL控制台读取数据”;
3、通过菜单栏中的“SQL编辑器”,点击“SQL编辑器”菜单,点击“新建脚本”或者选择最近打开的SQL脚本;
4、通过菜单栏中“SQL编辑器”,点击“新建SQL编辑器”菜单;
‘伍’ sql文件中如何编写循环建表的脚本
如果数据库中已经存在test表则,将其drop掉,
if exists (select * from dbo.Sysobjects where id='test' and OBJECTPROPERTY(OBJECT_ID('test'),'IsTable')=1 )
drop table test
--新建数据库
create table test
(
id int
)
declare @i int,@num int --定义变量用来存储循环初始值和结束值
select @i=1,@num=1000
while (@i<=@num) ---进入循环
begin
insert into test values(@i)
select @i+=1
end
select * from test
drop table test --删除实体表,如果程序真用则就不要删除了!