小编Kir*_*ril的帖子

Informix SQL 11.5将查询结果存储在具有动态名称的文件中

我正在尝试将查询结果存储在文件中。以下命令可完成此任务:

UNLOAD TO '/usr/data/report.csv' DELIMITER ';'
SELECT COUNT(*) FROM table1;
Run Code Online (Sandbox Code Playgroud)

问题:我不想每次执行查询时都覆盖文件(report.csv)。

问题:如何在UNLOAD TO文件名参数中包括时间戳或日期?

已经尝试过,无法正常工作

UNLOAD TO ('/usr/data/report_' || (SELECT REPLACE(TODAY, '.', '_') FROM systables WHERE tabid = 1) || '.csv') DELIMITER ';'
SELECT COUNT(*) FROM table1;
Run Code Online (Sandbox Code Playgroud)

显示错误信息:

#
# 809: SQL Syntax error has occurred.
#
Run Code Online (Sandbox Code Playgroud)

版本:Informix SQL 11.50

sql informix

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

Heredoc 中的 Concat 变量

我有以下 KornShell (ksh) 脚本:

VAR='/this/is/a/path/'
DAT='01_01_2014'

cat << EOF
... what should I do here to concat variables with strings? ...
$VARfoldername$DAT
EOF
Run Code Online (Sandbox Code Playgroud)

然而,这只给了我(因为变量 $VARfoldername 被评估,这显然不存在):

01_01_2014
Run Code Online (Sandbox Code Playgroud)

我需要将 $VAR 与另一个字符串连接,然后与 $DAT 连接,这样运行脚本会导致:

/this/is/a/path/foldername01_01_2014
Run Code Online (Sandbox Code Playgroud)

string variables shell ksh concatenation

5
推荐指数
1
解决办法
1037
查看次数

如何在Golang中构建二进制包?

我在github.com/user上有一个名为project的项目:

src/
    github.com/user/project
        sub1/
            main.go
            sub1.exe (??)
        sub2/
            main.go
            sub2.exe (??)
Run Code Online (Sandbox Code Playgroud)

我正在尝试在我的项目中编译包.当我:

$ cd github.com/user/project/sub1
$ go build
Run Code Online (Sandbox Code Playgroud)

什么都没发生.go build似乎完成没有抱怨,但没有可执行文件.如何将包构建为可执行文件?

"go go go1.3 windows/amd64"

windows build go

5
推荐指数
1
解决办法
7652
查看次数

获得一个月的最后一天.时间

当我有一个time.Time:

// January, 29th
t, _ := time.Parse("2006-01-02", "2016-01-29")
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到time.Time代表1月31日的?这个例子很简单,但是当二月有一个日期时,最后一天可能是28日或29日.

time go

5
推荐指数
1
解决办法
533
查看次数

如何等到缓冲通道(信号量)为空?

我有一个整数片,它们被同时操作:

ints := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
Run Code Online (Sandbox Code Playgroud)

我使用缓冲通道作为信号量,以便具有同时运行的例程的上限:

sem := make(chan struct{}, 2)

for _, i := range ints {
  // acquire semaphore
  sem <- struct{}{}

  // start long running go routine
  go func(id int, sem chan struct{}) {
    // do something

    // release semaphore
    <- sem
  }(i, sem)
}
Run Code Online (Sandbox Code Playgroud)

上面的代码可以很好地工作,直到达到最后或最后两个整数,因为程序在最后一个例程完成之前结束.

问题:如何等待缓冲通道耗尽?

semaphore channel go goroutine

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

Go-lang Web应用程序中的同步

我正在写一个golang web应用程序.Web应用程序访问文件系统(读取和写入)和sqlite3数据库文件.

问题1:如何在Go中同步文件系统访问?

type DataObject struct {
  data []byte
}

func (*d DataObject) Write() {
   //
   // Synchronization ?
   //
   ioutil.WriteFile("file.name", d.data, 0644)
   //
   // Stop synchronization ?
   //
}
Run Code Online (Sandbox Code Playgroud)

问题2:我是否需要同步sqlite3数据库文件访问?

type SqlObject struct {
  sqldata string
}

func (*s SqlObject) Store() error {
  //
  // Open the file, do I need some sort of synchronization?
  //
  con, err := sqlite.Open("database/datafile.db")
  if err != nil {
    return err
  }
  defer con.Close()

  err = con.Exec("INSERT INTO data(sqldata) values(?)", s.sqldata) …
Run Code Online (Sandbox Code Playgroud)

sqlite concurrency synchronization web-applications go

4
推荐指数
1
解决办法
3637
查看次数

BPMN 2.0 XML实际信息检索场景示例?

我正在寻找一个免费/开源数据集,其中包含使用BPMN 2.0 XML建模的或多或少的实际过程示例.

网上有哪些地方我可以找到这样的收藏品?

xml bpmn

4
推荐指数
1
解决办法
9392
查看次数

记录Golang程序的惯用方法,包括一个main.go文件

我写了一个Go工具,它根据输入读取文件并生成输出.它由一个main.go文件组成.我在哪里记录该工具的用途,以便使用godoc(或只是惯用)?

// Should I explain it here?
package main

// Or here?
func main() {
    // code!
}

// Or somewhere else?
Run Code Online (Sandbox Code Playgroud)

documentation idiomatic go godoc

4
推荐指数
1
解决办法
752
查看次数

Golang更改了float的xml marshal格式

当我编组float64到xml文件时:

type X struct {
    Value float64 `xml:",attr,omitempty"`
}
var x X
x.Value = 1000000.04
Run Code Online (Sandbox Code Playgroud)

我得到的价值如下:

<X Value="1.00000004e+06"></X>
Run Code Online (Sandbox Code Playgroud)

如何更改输出格式,以便写入完整值(1000000.04)(omitempty标签仍然有效)?

xml format marshalling go

3
推荐指数
1
解决办法
715
查看次数

你能在Golang中使用SQLite ATTACH和DETACH吗?

我在Golang应用程序中使用https://github.com/mattn/go-sqlite3.我需要使用多个数据库,并想知道我是否可以在Golang中使用ATTACH和DETACH(http://sqlite.org/lang_attach.html).

我现在没有任何代码,因为除了创建两个数据库连接并在应用程序中连接数据之外,我不知道如何解决这个问题:

db1, err := sql.Open("sqlite3", "./db1.db")

db2, err := sql.Open("sqlite3", "./db2.db")

// query db1 and db2
// put into map
// join data
Run Code Online (Sandbox Code Playgroud)

如果你可以使用它会容易得多:

attach database database1.db as db1;
attach database database2.db as db2;

select
  *
from
  db1.SomeTable a
    inner join 
  db2.SomeTable b on b.SomeColumn = a.SomeColumn;
Run Code Online (Sandbox Code Playgroud)

sqlite go

3
推荐指数
1
解决办法
508
查看次数