plsql如何执行.sql文件?

plsql如何执行.sql文件?,第1张

plsql执行sql文件步骤如下:

一、PL/SQL登录到数据库,使用tools工具进行导入,使用plsql登录到需要导入数据的数据库,点击工具栏上tools--Import tables。

二、点击工具SQL Inserts、(第二个选项),点击选择需要导入的数据库脚本

三、选择sql脚本的,点击打开,即可打开数据库脚本文件,数据库脚本就可以预加载到plsq工具中。

四、开始导入数据库数据。选择完sql脚本之后,点击Import按钮开始将脚本中的数据导入到数据库中。

五、执行完之后,没有任何报错说明插入成功。

sql脚本要在dbms里执行\x0d\\x0d\比如oracle,你可以在sqlplus里,或pl/sql developer里执行\x0d\\x0d\直接复制sql语句过去,回车就好了(注意带分号)\x0d\\x0d\如果你的sql是一个sql文件(sql)\x0d\可以使用start或@ 然后跟文件的路径(c:/asql) 回车

你建一个SQLSERVER,然后建一个库,或者ISQL。EXE,或者打开查询分析期,直接打开这个。SQL文件,运行即可
出现这个问题,你先把该DATABASE的属性设置为OFFLINE,即可

在sqlserver management studio 里

直接打开这个文件

链接到对应数据库

按F5 就能整个文件执行

或者按

本篇文章是对使用PHP执行 SQL文件的实现代码进行了详细的分析介绍 需要的朋友参考下  

demo php:

复制代码 代码如下: <php / 读取 sql 文件并写入数据库 @version demo php / class DBManager {     var $dbHost = ;     var $dbUser = ;     var $dbPassword = ;     var $dbSchema = ;     function __construct($host $user $password $schema)     {         $this >dbHost = $host;         $this >dbUser = $user;         $this >dbPassword = $password;         $this >dbSchema = $schema;     }     function createFromFile($sqlPath $delimiter = (;/n)|((;/r/n))|(;/r) $prefix = $menter = array( # ))     {         //判断文件是否存在         if(!file_exists($sqlPath))             return false;         $handle = fopen($sqlPath rb );           $sqlStr = fread($handle filesize($sqlPath));         //通过sql语法的语句分割符进行分割         $segment = explode(";" trim($sqlStr));         //var_dump($segment);         //去掉注释和多余的空行         foreach($segment as & $statement)         {             $sentence = explode("/n" $statement);             $newStatement = array();             foreach($sentence as $subSentence)             {                 if( != trim($subSentence))                 {                     //判断是会否是注释                     $isComment = false;                     foreach($menter as $er)                     {                         if(eregi("^(" $er ")" trim($subSentence)))                         {                             $isComment = true;                             break;                         }                     }                     //如果不是注释 则认为是sql语句                     if(!$isComment)                         $newStatement[] = $subSentence;                                   }             }             $statement = $newStatement;         }         //对表名加前缀         if( != $prefix)         {                    //只有表名在第一行出现时才有效 例如 CREATE TABLE talbeName             $regxTable = "^[/`/ /"]{ }[/_a zA Z]+[/_a zA Z ][/`/ /"]{ }$";//处理表名的正则表达式             $regxLeftWall = "^[/`/ /"]{ }";             $sqlFlagTree = array(                     "CREATE" => array(                             "TABLE" => array(                                     "$regxTable" =>                                 )                         )                     "INSERT" => array(                             "INTO" => array(                                 "$regxTable" =>                             )                         )                     );             foreach($segment as & $statement)             {                 $tokens = split(" " $statement[ ]);                 $tableName = array();                 $this >findTableName($sqlFlagTree $tokens $tableName);                 if(empty($tableName[ leftWall ]))                 {                     $newTableName = $prefix $tableName[ name ];                 }                 else{                     $newTableName = $tableName[ leftWall ] $prefix substr($tableName[ name ] );                 }                 $statement[ ] = str_replace($tableName[ name ] $newTableName $statement[ ]);             }         }               //组合sql语句         foreach($segment as & $statement)         {             $newStmt = ;             foreach($statement as $sentence)             {                 $newStmt = $newStmt trim($sentence) "/n";             }             $statement = $newStmt;         }         //用于测试                //var_dump($segment);         //writeArrayToFile( data txt $segment);         //         self::saveByQuery($segment);         return true;     }     private function saveByQuery($sqlArray)     {         $conn = mysql_connect($this >dbHost $this >dbUser $this >dbPassword);         mysql_select_db($this >dbSchema);         foreach($sqlArray as $sql)         {             mysql_query($sql);         }               mysql_close($conn);     }     private function findTableName($sqlFlagTree $tokens $tokensKey= & $tableName = array())     {         $regxLeftWall = "^[/`/ /"]{ }";         if(count($tokens)<=$tokensKey)             return false;               if( == trim($tokens[$tokensKey]))         {             return self::findTableName($sqlFlagTree $tokens $tokensKey+ $tableName);         }         else         {             foreach($sqlFlagTree as $flag => $v)             {                   if(eregi($flag $tokens[$tokensKey]))                 {                     if( ==$v)                     {                         $tableName[ name ] = $tokens[$tokensKey];                         if(eregi($regxLeftWall $tableName[ name ]))                         {                             $tableName[ leftWall ] = $tableName[ name ]{ };                         }                         return true;                     }                     else{                         return self::findTableName($v $tokens $tokensKey+ & $tableName);                     }                 }             }         }         return false;     } } function writeArrayToFile($fileName $dataArray $delimiter="/r/n") {     $handle=fopen($fileName "wb");     $text = ;     foreach($dataArray as $data)     {         $text = $text $data $delimiter;     }     fwrite($handle $text); } //测试 $dbM = new DBManager( localhost w f test ); $dbM >createFromFile( data sql null fff_ ); > lishixinzhi/Article/program/PHP/201311/21281

可以在cmd窗口中执行如下命令执行Sql文件:
osql -S 127001 -U sa -P sa -i d:\testsql
简单说明:osql为SQL Server的命令,要在cmd中执行该命令,一般安装完SQL
Server后该命令对应的路径会自动添加到系统环境变量中。 -S 表示要连接的数据库服务器 -U表示登录的用户ID,-P表示登录密码
-i表示要执行的脚本文件路径。

你没说你是用的什么数据库啊
如果你不知道怎么运行 你可以用记事本直接打开
把所有的代码复制到你所有的数据库系统的命令行模式就可以啊
sql server ,oracle,mysql等 都可以的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13376254.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-24
下一篇 2023-07-24

发表评论

登录后才能评论

评论列表(0条)

保存