怎么看这个数据库表的SQL插件?

时间:2011-11-22 12:41:29

标签: sql

我怎么看这个数据库表的sql插件?

语言

languageID | language
         1 | german
         2 | english

        id | language | text
         1 | 2        | lucky
         2 | 2        | happy
         3 | 1        | glücklich

翻译

  word1_id | word2_id
         1 | 3
         2 | 3

请帮助别人。我不知道。 请帮助。

3 个答案:

答案 0 :(得分:1)

至少,为了让你明白这一点,我举一个例子来添加一个数据集:

INSERT INTO language(languageID, language) VALUES (1, 'german');

请注意,字符串值应以单引号给出。

答案 1 :(得分:1)

只需做一个基本的INSERT INTO table (col1,col2) VALUES (value1,value2)

现在,如果你想让这个更加复杂,每个单词插入多个翻译,你需要自己构建一个存储过程。

id说这样做的最简单方法是让它接受语言,文本和翻译的参数。

翻译将是VARCHAR(MAX)数据类型,并且您将每个翻译分隔一个字符,例如|,然后将此参数拆分为每个|进入临时表。

插入您的第一个未翻译的字词,使用scope_identity取回您插入的ID,然后使用它逐个插入翻译。

所以你需要看看像http://www.codeproject.com/KB/database/SQLArrayParameterHandling.aspx

这样的东西

SQL中的Scope_Identity方法 http://msdn.microsoft.com/en-us/library/ms190315.aspx

并制作一个sql分割功能 http://blogs.microsoft.co.il/blogs/itai/archive/2009/02/01/t-sql-split-function.aspx

答案 2 :(得分:1)

如果没有外键/触发器或类似内容(请提供更多相关信息),插件将如下所示:

insert into language (languageID, language) values (1, 'german')
insert into language (languageID, language) values (2, 'english')

insert into word (id, language, text) values (1, 2, 'lucky')
insert into word (id, language, text) values (2, 2, 'happy')
insert into word (id, language, text) values (3, 1, 'glücklich')

insert into translation (word1_id, word2_id) values (1, 3)
insert into translation (word1_id, word2_id) values (2, 3)