当前位置:首页 » 编程语言 » prel脚本怎么在sql中执行
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

prel脚本怎么在sql中执行

发布时间: 2022-04-22 15:22:49

‘壹’ perl可以在do里面执行多个sql语句吗

可以把多个语句一条条执行,可以用SQL::SplitStatement这个模块分;如果需要一起执行的话,可以试试DBIx::MultiStatementDo;如果是Oracle,可以用一个匿名的PL/SQL块试一下:$dbh->do("
BEGIN
UPDATE ……;
DELETE ……;
END;
");

‘贰’ 怎样让perl脚本中执行sql语句

首先得确保安装了数据库接口模块和相应数据库的驱动模块,如果是用MySql数据库(开源免费新手入门学习都喜欢),则需要确定DBI和DBD::mysql这两个模块是否安装;
然后在perl脚本中写:
!#usr/bin/perl -w
use strict;
use DBI; #使用DBI模块,DBD::mysql是驱动不必在脚本中使用,安装了就行
my $dbname = ""; #引号里填上数据库名
my $ip = ""; #引号里填上要访问的数据库的ip地址,数据库是本机就写127.0.0.1
my $port = ""; #引号里填上要访问的数据库的端口号,mysql默认端口号是3306
my $host = "dbi:mysql:" . $dbname . ":" . $ip . ":" . $port ;
my $user = "root"; #访问数据库使用的用户名
my $password = "xXxX"; #该用户名所使用的密码
my $dbh = DBI -> connect($host,$user,$password) or die "$@"; #与数据库建立连接
$dbh -> do("set names \'gbk\';"); #设置输出中文不乱码
while(1) #条件永远为真,除非人为终止,否则不会停止
{ #可以使用control+c停止脚本执行
my $sql = ""; #引号里填上sql语句
$sth = $dbh -> prepare($sql); #送入数据库做准备
$sth -> execute(); #执行这条sql语句
sleep(300); #设置300秒暂停执行,300秒后继续执行while
}
$dbh -> disconnect(); #断开与数据库的连接
这里使用的是最新的perl和最新的mysql最新,不是复制粘贴别人代码,前几天还在用,保证思路没有问题。

‘叁’ 下为一perl编写的脚本处理数据库,请教这个中间的sql语句在干什么

select
concat(left(starttime,2),':00:00') --取时间的前2位,就是小时, 如09:11:01就变成09:00:00
as d
from cellopt.hw_sector_hourly_0
where startdate = '$d' --条件为开始日期 由参数传入
group by hour(starttime)";--按开始时间的小时进行分组

‘肆’ 怎样写perl脚本用sql去操作大数据平台里的数据

你需要有数据库的用户名和密码
use DBI;
$DSN = 'driver={SQL Server};Server=数据库名; Database=表名;UID=用户名;PWD=密码;';
$dbh = DBI->connect("dbi:ODBC:$DSN",{'RaiseError' => 1,AutoCommit => 0});
$SQL = "SQL语句";

$Select = $dbh -> prepare($SQL);
$Select -> execute();
($cust_code) = $Select->fetchrow_array;

‘伍’ 请教perl中sql语句里使用变量问题

可以在sql里面使用变量的。如果你的变量里面含有一些特殊的转义字符,请使用DBI模块的quote功能;如果变量里面不含一些特殊的转义字符,则在sql语句里面直接用单引号即可。

‘陆’ 这段sql我是放在perl脚本里执行的,但是batchno都是重复的,我想让他每条batchno都+1,不知道该怎么写

my$q=<<"QUERY";
....wherekey_name='batchno';
.....
QUERY

formy$incre(1..10000){
my$=$q;
$=~s/batchno/$incre/;
$dbh->do($)
}

‘柒’ 如何在脚本中执行SQL语句并获得结果输出

这里需要用到的工具叫做sqlcmd.exe, 它随SQL server的安装而安装. 该可执行程序的位置在:
C:\Program Files\Microsoft SQL Server\xxx\Tools\Binn
其中xxx是你所安装的SQL Server的版本号.

Version Number

SQL Server 2005 90

SQL Server 2008 100

在SQL 2014中它的位置在:
C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn
貌似是跟着Client SDK一起被安装的.
sqlcmd.exe的位置是被加入了环境变量了的, 所以可以在任何路径下直接调用. 可以通过下面的命令来查看环境变量.
Set | more
可以用以下的方式使用sqlcmd:
命令行中直接交互式执行sql语句
命令行中制定所需执行sql语句的脚本文件和输出文件
这里再给出一个sqlcmd中直接运行命令的截图, 除了脚本之外, 这样也可以更直观的与SQL Server进行交互.

‘捌’ 怎么在sql server中执行脚本

1. 启动SQL Server Management Studio;
点击【开始】->【所有程序】->【Microsoft SQL Server 2008 R2】->【SQL Server Management Studio】,
服务器名称:服务器的名称或者IP地址,
登录名和密码:通常都为sa;
点击【连接】后登录SQL Server Management Studio;
2. 点击【文件】->【打开】-->【文件(F)…】,
选择你要打开的文件,如【Optime.Sql】,打开即可,
3. 选择相应的数据库,如gerp,
点击即可。